为什么我会在批处理参数替换中获得以下路径运算符的用法是无效的



我有一个批处理文件,该文件应该获取目录并使用我拥有的应用程序处理所有jpeg文件。

批处理文件是:

for %%I in (%1*.jpg) do (
binprocess.exe %%I "%~dpIoutput%~nxI"
)

但是当我运行此批处理文件时,我会遇到此错误:

批处理参数的以下路径运算符替代无效:%〜dpi output %〜nxi"

我阅读了格式指定符,它说:

%~dpI       - expands %I to a drive letter and path only
%~nxI       - expands %I to a file name and extension only

基于它,语法应该正确?

有什么问题?

在批处理文件中,使用for循环变量时需要两个%符号。诸如%我之类的变量我只适用于命令行。你应该说

for %%I in (%1*.jpg) do (
    binprocess.exe %%I "%%~dpIoutput%%~nxI"
)

最新更新