当前位置:   article > 正文

批处理命令实现批量创建快捷方式_批处理创建快递方式

批处理创建快递方式

  近日,遇到一个需求:需要在目标目录下批量创建源目录下文件的快捷方式。

  在windows10操作系统下,首先想到的就是用批处理命令,循环读取配置文件中配置的源文件名,并且创建快捷方式到当前批处理文件所在目录下。因此最终的文件包括批处理文件和配置文件。

批处理命令

@echo off
color 0a
title 自动创建文件目录快捷方式

rem 设置变量延迟
setlocal EnableDelayedExpansion

rem 源文件路径,在这里修改路径
set root=E:\老九学堂\酱爆茄子\

rem 读取dir.txt每一行的内容 编码格式ANSI
for /f "delims=" %%a in (dir.txt) do (

    rem 设置源路径=源文件路径 + 文件名a
    set ThePath=%%a

    rem 设置目标快捷方式全路径=bat文件路径 + 文件名a + ".lnk"
    set LinkName=%~dp0%%a.lnk

    rem 执行创建快捷方式
    mshta VBScript:Execute("Set Shell=CreateObject(""WScript.Shell""):Set Link=Shell.CreateShortcut(""!LinkName!""):Link.TargetPath=""!ThePath!"":Link.Save:close"^)
)

echo 创建完成!按任意键退出
pause>nul
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

调试过程中,遇到了两个坑:
 1、中文编码乱码问题,读取的文件名不能与源文件名匹配,将批处理命令和配置文件的编码都改为ANSI编码格式问题解决。
 2、文件名空格问题,循环读取每一行内容的过程中,默认分隔符为空格和tab键,内容中有空格会默认为换行。因此需要设定没有默认分隔符”delims=”。

思考:
 1.是否可以改为输入或者配置源文件路径?
 2.是否可以直接配置绝对路径?

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码吟游诗人2/article/detail/61801
推荐阅读
相关标签
  

闽ICP备14008679号