2016-03-13 32 views

回答

1

您可以使用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
  • 啓動
  • 模板