zoukankan      html  css  js  c++  java
  • 批处理实现批量创建快捷方式

    功能:自动读取./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 ::(注:部分杀毒软件可能会报毒,请允许此程序的所有操作并添加信任)
  • 相关阅读:
    vs2013 在win7下,使用c++创建项目各种报错问题解决方案
    排序含有数字的字符串:一个巧妙地方法
    wpf 控件大小随窗体大小改变而改变
    WPF TreeView 选择事件执行两次,获取TreeView的父节点的解决方法
    最近几年的编程感悟(3)完结
    mysql Packet for query is too large (2036 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
    java BigDecimal加减乘除 与 保留两位小数
    java 字符串的运算公式直接转计算结果
    ecplise tomcat忽然出现404
    float 、double 加减乘除出现小数位多出的问题
  • 原文地址:https://www.cnblogs.com/dongsheng/p/5359270.html
Copyright © 2011-2022 走看看