功能:自動讀取./dir.txt文件中配置的每行目錄,並在當前目錄下創建該目錄的快捷方式(目錄可以是可訪問的網絡磁盤目錄,此功能可以取代網絡磁盤映射,特別適用於網絡磁盤映射太多,而虛擬網絡磁盤驅動器數量不足的情況)
注意:批處理中的for循環中的語句會被解析為一條語句執行,所以必須使用變量延遲才能保證數據的正確性,同時,for循環中的右括號要啟用轉義
測試:
./dir.txt內容如下:
運行前目錄:
運行后目錄:
批處理代碼如下:
1 @echo off 2
3 color 0a 4 title 自動創建文件目錄快捷方式 5
6 ::設置變量延遲 7 setlocal EnableDelayedExpansion 8
9 for /f "tokens=*" %%a in (./dir.txt) do ( 10 set ThePath=%%a 11
12 for %%b in (%%a) do ( 13 set LinkName=%%~nxb.lnk 14
15 mshta VBScript:Execute("Set Shell=CreateObject(""WScript.Shell""):Set Link=Shell.CreateShortcut(""!LinkName!""):Link.TargetPath=""!ThePath!"":Link.Save:close"^) 16
17 ) 18 ) 19
20 echo 創建完成!按任意鍵退出 21 pause>nul 22
23 ::說明:復制以上代碼到文本文檔中,保存為.bat文件,點擊直接運行即可自動讀取./dir.txt中每行目錄,並在當前目錄下創建該目錄的快捷方式 24 ::(注:部分殺毒軟件可能會報毒,請允許此程序的所有操作並添加信任)
加強版:可配置快捷方式名稱(因為相同目錄可能被拷貝多份)
./dir.txt內容如下:(第一列為指定的快捷方式名稱,中間以“:”隔開,后跟具體路徑名,注意:冒號兩邊不能加空格)
運行前目錄:
運行后目錄:
批處理代碼如下:
1 @echo off 2
3 color 0a 4 title 自動創建文件目錄快捷方式 5
6 ::設置變量延遲 7 setlocal EnableDelayedExpansion 8
9 for /f "delims=: tokens=1,*" %%a in (./dir.txt) do ( 10 set LinkName=%%a.lnk 11 set ThePath=%%b 12 mshta VBScript:Execute("Set Shell=CreateObject(""WScript.Shell""):Set Link=Shell.CreateShortcut(""!LinkName!""):Link.TargetPath=""!ThePath!"":Link.Save:close"^) 13 ) 14
15 echo 創建完成!按任意鍵退出 16 pause>nul 17
18 ::說明:復制以上代碼到文本文檔中,保存為.bat文件,點擊直接運行即可自動讀取./dir.txt中每行目錄(可以是可訪問的網絡磁盤目錄),並在當前目錄下創建該目錄的快捷方式 19 ::(注:部分殺毒軟件可能會報毒,請允許此程序的所有操作並添加信任)