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

功能:自动读取./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 ::(注:部分杀毒软件可能会报毒,请允许此程序的所有操作并添加信任)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值