想做一个简单的批处理程序,功能是把几个补丁文件复制到指定位置,参照网上的一些教程做了下

2025-04-30 10:49:09
推荐回答(1个)
回答1:

%cd%获取的路径如果是在根目录,它后面会有 “\” 符,但如果不是在根目录则其后无此符,所以代码中如不在根目录则差此“\”符作为各级目录的分隔符--将当前文件夹名串到紧接的文件名一起当然就找不到此文件了。其实只要bat文件和原文件放一起时双击运行,则所有%cd%都可以去掉且无论是否在根目录都正常,但如果是右键菜单选的运行,则切换到cmd目录去了改变了当前路径,所以最好是
在第一个copy命令之前加上一句 cd/d "%~dp0" 表示切换到以bat文件所在路径为当前路径,之后所有%cd%均可去掉
当然还有种方法,所有%cd%用%~dp0代替,为防路径名含空格宜加引号如
copy /y "%~dp0Sdl.Common.Licensing.Provider.Core.dll" "C:\Program Files\SDL\SDL Trados Studio\Studio4"