Yardımcı komut dosyaları
Komut satırı işlemcisi bazı destekler Ortam Değişkenleri sistem ve kullanıcı yolları için, aksi takdirde bunların oluşturulmasında yardımcı olabilir. Onlar:
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
Yazabilirsin set | more
listenin tamamını verilen değerlerle birlikte görmek için. Ancak bir veya daha fazla değişkeni birleştirip gerçek yolu manuel olarak oluşturamazsanız, listelenmemiş yolları almak için yerel bir yol yoktur.
Aşağıda, belirli bir cihazla ilişkili yolu alabilen birkaç karma toplu komut dosyası bulabilirsiniz. kabuk klasörü . Her iki kodu da kaydet ShellHelper.cmd
(veya her ne istersen, sadece .cmd
uzantı). Komut dosyaları, kabuk klasörü tanımlayıcısı olan tek bir parametreyi kabul eder (ör. Favorites
). Yol daha sonra kaydedilmiş %shellFolder%
değişken.
Örnek kullanım
ShellHelper.cmd Favorites >nul
if defined shellFolder pushd "%shellFolder%"
Uyarılar
Powershell sürümünden farklı olarak, VBScript bir Windows 2000 ve sonraki sürümlerde kutudan çıkar. Özel kullanımınıza gelince, her iki sürüm de olacaktır.
PowerShell, Windows 7 ve sonraki sürümlerinde yerleşiktir, ancak önceki işletim sistemlerinde el ile yüklenmesi gerekir.
VBScript sürümü
Ana kredi, burada kullanılan hibrit tekniği ile gelen (ve rafine edilmiş) jeb ve dbenham'a gidiyor.
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))
Desteklenen tanımlayıcılar
AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Recent
SendTo
StartMenu
Startup
Templates
Not Son satırın değiştirilmesiyle ek kabuk klasörleri desteklenebilir:
WScript.Echo WScript.CreateObject("Shell.Application").Namespace(CLng(WScript.Arguments(0))).Self.Path
Bu durumda, belirli bir kabuk klasörü yolu elde etmek için atanmış sayısal değerini geçmeniz gerekir. Örneğin, almak için Favorites
kullanmanız gereken değerin yolu 6
. Tüm değerleri ve anlamlarını aşağıdaki bağlantılı makalede bulabilirsiniz.
daha fazla okuma
PowerShell sürümü
@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
Desteklenen tanımlar
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 Framework 4.0 ve üzeri
Yukarıdaki tanımlayıcılara ek olarak, bunlar da mevcuttur:
AdminTools
CDBurning
CommonAdminTools
CommonDesktopDirectory
CommonDocuments
CommonMusic
CommonOemLinks
CommonPictures
CommonProgramFilesX86
CommonPrograms
CommonStartMenu
CommonStartup
CommonTemplates
CommonVideos
Fonts
LocalizedResources
MyVideos
NetworkShortcuts
PrinterShortcuts
ProgramFilesX86
Resources
SystemX86
UserProfile
Windows
Not Mevcut olanların listesini almak için, bir PowerShell konsolunda aşağıdaki komutu çalıştırabilirsiniz:
[Enum]::GetNames('System.Environment+SpecialFolder') | Sort-Object
daha fazla okuma