1
有什麼辦法如何將path從explorer.exe shell:<dir>
變爲批處理文件中的變量而不直接在我的文件中使用註冊表?Explorer.exe外殼:<dir>路徑
Switches在這種情況下似乎沒有用處。
有什麼辦法如何將path從explorer.exe shell:<dir>
變爲批處理文件中的變量而不直接在我的文件中使用註冊表?Explorer.exe外殼:<dir>路徑
Switches在這種情況下似乎沒有用處。
您可以使用Windows Script Host語言獲取WshShell.SpecialFolders
property。實施例批次+ JScript的混合溶液(應給予.bat擴展):
@if (@CodeSection == @Batch) @then
@echo off & setlocal
call :getSpecialFolder AllUsersDesktop
echo %AllUsersDesktop%
call :getSpecialFolder Fonts
echo %Fonts%
goto :EOF
:getSpecialFolder <folderName=returnValue>
for /f "delims=" %%I in ('cscript /nologo /e:JScript "%~f0" "%~1"') do set "%~1=%%I"
goto :EOF
@end // end batch begin JScript
WSH.Echo(WSH.CreateObject('WScript.Shell').SpecialFolders(WSH.Arguments(0)));
從MSDN文檔:
的WshSpecialFolders對象是一個集合。它包含整套Windows特殊文件夾,例如桌面文件夾,開始菜單文件夾和個人文檔文件夾。特殊文件夾名稱用於索引到集合中以檢索所需的特殊文件夾。如果請求的文件夾(strFolderName)不可用,SpecialFolders屬性返回一個空字符串。例如,Windows 95沒有AllUsersDesktop文件夾,並且如果strFolderName爲AllUsersDesktop,則返回一個空字符串。
以下特殊文件夾可用:
- AllUsersDesktop
- AllUsersStartMenu
- AllUsersPrograms
- AllUsersStartup
- 桌面
- 收藏
- 字體
- 我的文檔
- NETHOOD
- PRINTHOOD
- 程序
- 最近
- 的SendTo
- 的StartMenu
- 啓動
- 模板