批处理实现批量建立快捷方式

功能:自动读取./dir.txt文件中配置的每行目录,并在当前目录下建立该目录的快捷方式(目录能够是可访问的网络磁盘目录,此功能能够取代网络磁盘映射,特别适用于网络磁盘映射太多,而虚拟网络磁盘驱动器数量不足的状况)网络

注意:批处理中的for循环中的语句会被解析为一条语句执行,因此必须使用变量延迟才能保证数据的正确性,同时,for循环中的右括号要启用转义测试

测试:spa

./dir.txt内容以下:code

 

运行前目录:blog

 

运行后目录:token

 

批处理代码以下: ip

 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内容以下:(第一列为指定的快捷方式名称,中间以“:”隔开,后跟具体路径名,注意:冒号两边不能加空格)get

 

 

运行前目录:it

 

 

 

 

运行后目录:

 

 

 批处理代码以下:

 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 ::(注:部分杀毒软件可能会报毒,请容许此程序的全部操做并添加信任)
相关文章
相关标签/搜索