通过批处理文件上的拖放更改相对路径

时间:2012-06-01 19:16:49

标签: batch-file relative-path

这是我的代码,我将一些图像拖放到一个以压缩所有图像。

if [%1]==[] goto :eof
:loop
start %~dp0ImgCompress.exe %1
shift
if not [%1]==[] goto loop

它适用于第一个文件,但是在第二个及以后相对路径(%~dp0)成为我拖放的文件的相对路径。我的想法是%~dp0是执行文件的相对路径。知道如何克服这个问题吗?

1 个答案:

答案 0 :(得分:2)

批处理文件的路径为%0。 Shift使%1变为%0。要解决问题,请保存%~dp0:

set mydir=%~dp0

稍后再使用:

start %mydir%ImgCompress.exe %1