批处理填坑一记

公司所处行业存在特殊性,在使用CAD画图时设计人员广泛使用外部参照图,有时需要批量更换参照图,手工替换耗时耗力,使用批处进行替换即简单又方便,但同事手中批处理语句有BUG,我把协助解决过程进行记录,现分享给大家。

具体过程:

得到批处理语句
for /f %i in (‘dir /s /b tk.dwg’) do copy /y C:\Users\Administrator\Desktop\222\tk.dwg %i

利用dir命令查找硬盘所有图签文件位置,for in进行提取,%i作为变量,copy /y 进行替换复制。

语句十分精干肉眼看出不问题,但海亮兄找我的原因是不执行,并说应该文件夹名称是中文的问题?我一口否决。DOS下的中文文件夹名的问题是上古时期的问题,如今不应再出现。

那么会是什么原因导致的中文文件夹执行失败的问题?
编码问题?对,会不会他的BAT文件是Unicode编码,建议改成ANSI编码!但海亮兄反馈编码没问题!

在这里插入图片描述

海亮兄不是别人,只好花些时间及精力拆分语句分析具体原因。
dir 查看目录命令十分简单,谨慎点还是执行一下。
在这里插入图片描述

创建测试环境,执行结果为dir语句没有问题。

海亮兄又反馈我说应该是路径包含空格的问题!这是有可能的!
BAT中路径空格需要特殊处理,简单方式是将路径用双引号括起来,将COPY后面的%i增加双引号,修改语句为:

for /f %i in (‘dir /s /b upda.swk’) do copy /y C:\Users\Administrator\Desktop\加密图纸查看器LockView\upda.swk “%i”

坑是不是这么容易填平,执行一下:
在这里插入图片描述
失败,copy的最终文件位置不对,这坑很深沉啊!细看观察路径判断应该是for in提取的问题。

加入变量输出,验证一下:
在这里插入图片描述

果然有问题,和上面dir /s /b upda.swk 结果比对,坑是for in 提取路径不全,遇空格就提前截取了。。。

怎么办?上网找找资料,看看有没有现成的填坑方法!网上资料多数都是提相关问题的,唉~没有解决办法!乌合之众,都是什么水平。。。

但找到一段代码,代码中用”delims= ” 空格作为截止符!转换思路,COPY一下,删除”delims= “里空格,套到咱的批处理语句中执行。。。

for /f “delims=” %i in (‘dir /s /b upda.swk’) do copy /y C:\Users\Administrator\Desktop\加密图纸查看器LockView\upda.swk “%i”

在这里插入图片描述
“坑”填平了,联系海亮兄。

小小一行语句,浪费我这么长时间!青春就是无数行代码中度过的!为了让大家节约点时间,留住你们青春的尾巴,将无坑替换文件BAT分享给大家。

无坑替换文件BAT为 :
for /f “delims=” %i in (‘dir /s /b 要替换的文件名’) do copy /y 替换源文件路径及文件名 “%i”

这里是引用
https://www.pinpinxi.com/blog/%e6%8a%80%e6%9c%af%e5%88%86%e4%ba%ab/%e6%89%b9%e5%a4%84%e7%90%86%e5%a1%ab%e5%9d%91%e4%b8%80%e8%ae%b0.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值