1

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

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

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

4

1 回答 1

2

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

set mydir=%~dp0

并在以后使用它:

start %mydir%ImgCompress.exe %1
于 2012-06-01T20:35:37.657 回答