सहायक स्क्रिप्ट
कमांड लाइन प्रोसेसर सिस्टम और उपयोगकर्ता पथ के लिए कुछ पर्यावरण चर का समर्थन करता है, या जो अन्यथा उन्हें बनाने में मदद कर सकता है। वो हैं:
ALLUSERSPROFILE
APPDATA
CommonProgramFiles
CommonProgramFiles(x86)
CommonProgramW6432
COMPUTERNAME
HOMEDRIVE
HOMEPATH
LOCALAPPDATA
LOGONSERVER
ProgramData
ProgramFiles
ProgramFiles(x86)
ProgramW6432
PUBLIC
SystemDrive
SystemRoot
TEMP
TMP
USERDOMAIN
USERDOMAIN_ROAMINGPROFILE
USERNAME
USERPROFILE
windir
आप set | moreनिर्दिष्ट मूल्यों के साथ पूरी सूची देखने के लिए टाइप कर सकते हैं। हालांकि कोई विशेष रास्ता नहीं है, जो सूचीबद्ध नहीं हैं, जब तक कि आप एक या अधिक चर को जोड़कर वास्तविक पथ को मैन्युअल रूप से नहीं बना सकते हैं।
नीचे आप हाइब्रिड बैच स्क्रिप्ट के एक जोड़े को पा सकते हैं जो एक विशिष्ट शेल फ़ोल्डर से जुड़े पथ को पुनः प्राप्त कर सकता है । या तो कोड को सहेजें ShellHelper.cmd(या जो भी आपको पसंद है, बस .cmdविस्तार रखें )। स्क्रिप्ट एकल पैरामीटर को स्वीकार करती है, जो शेल फ़ोल्डर आइडेंटिफायर (उदा Favorites) है। पथ को फिर %shellFolder%चर में संग्रहीत किया जाएगा ।
उदाहरण उपयोग
ShellHelper.cmd Favorites >nul
if defined shellFolder pushd "%shellFolder%"
टिप्पणियों
पॉवर्सशेल संस्करण के विपरीत, वीबीएसस्क्रिप्ट एक विंडोज 2000 और बाद में बॉक्स से बाहर काम करता है। अपने विशिष्ट उपयोग के लिए, या तो संस्करण करेंगे।
PowerShell विंडोज 7 और बाद में अंतर्निहित है, लेकिन इसे पहले के ऑपरेटिंग सिस्टम में मैन्युअल रूप से इंस्टॉल करना होगा।
VBScript संस्करण
मुख्य श्रेय जेब और debham को जाता है जो यहां इस्तेमाल की जाने वाली हाइब्रिड तकनीक के साथ आते हैं (और परिष्कृत)।
REM^ &@echo off
REM^ &set shellFolder=
REM^ &if "%~1" == "" exit /b 2
REM^ &for /f "delims=" %%G in ('"cscript /nologo /e:vbscript "%~f0" %~1 "') do set shellFolder=%%~G
REM^ &exit /b
WScript.Echo WScript.CreateObject("WScript.Shell").SpecialFolders.Item(WScript.Arguments(0))
समर्थित पहचानकर्ता
AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Recent
SendTo
StartMenu
Startup
Templates
नोट अतिरिक्त शेल फ़ोल्डर को अंतिम पंक्ति के साथ बदलकर समर्थित किया जा सकता है:
WScript.Echo WScript.CreateObject("Shell.Application").Namespace(CLng(WScript.Arguments(0))).Self.Path
इस मामले में, एक विशेष शेल फ़ोल्डर पथ प्राप्त करने के लिए आपको इसके निर्दिष्ट संख्यात्मक मान को पास करना होगा। उदाहरण के लिए, उस Favoritesपथ को प्राप्त करने के लिए जिसे आपको उपयोग करना है 6। आप नीचे दिए गए लिंक में सभी मान और उनके अर्थ पा सकते हैं।
आगे की पढाई
PowerShell संस्करण
@echo off
set shellFolder=
if "%~1" == "" exit /b 2
set _params=-NoLogo -NoProfile -Noninteractive -ExecutionPolicy Bypass
set _command="([Environment]::GetFolderPath('%~1'))"
for /f "usebackq delims=" %%G in (`powershell %_params% -Command %_command%`) do set shellFolder=%%~G
set _params=
set _command=
exit /b
समर्थित पहचान देता है
ApplicationData
CommonApplicationData
CommonProgramFiles
Cookies
Desktop
DesktopDirectory
Favorites
History
InternetCache
LocalApplicationData
MyComputer
MyDocuments
MyMusic
MyPictures
Personal
ProgramFiles
Programs
Recent
SendTo
StartMenu
Startup
System
Templates
PowerShell 3.0 / .NET फ्रेमवर्क 4.0 और बाद में
उपरोक्त पहचानकर्ताओं के अलावा, ये भी उपलब्ध हैं:
AdminTools
CDBurning
CommonAdminTools
CommonDesktopDirectory
CommonDocuments
CommonMusic
CommonOemLinks
CommonPictures
CommonProgramFilesX86
CommonPrograms
CommonStartMenu
CommonStartup
CommonTemplates
CommonVideos
Fonts
LocalizedResources
MyVideos
NetworkShortcuts
PrinterShortcuts
ProgramFilesX86
Resources
SystemX86
UserProfile
Windows
नोट उपलब्ध लोगों की सूची प्राप्त करने के लिए, आप निम्नलिखित आदेश को PowerShell कंसोल में चला सकते हैं:
[Enum]::GetNames('System.Environment+SpecialFolder') | Sort-Object
आगे की पढाई