我想制作一个运行此命令的批处理文件:
C:\Program Files (x86)\IrfanView\i_view32.exe" "C:\Users\digi_admin\TIFFs\
OLD DIRECTORY\*.tif" /ini="C:\Users\digi_admin\Documents\" /advancedbatch /tifc=4
/convert="C:\Users\digi_admin\CompTIFs\Some Folder\NEW DIRECTORY\*.tif"
多个文件夹中的所有文件。所有文件都将位于\TIFFs\中,但将驻留在几个不同的子文件夹中。 (旧目录)此外,我需要在运行命令(运行?)之前创建文件夹\NEW DIRECTORY\(其名称与旧目录相同)。这是我到目前为止所拥有的:
FOR /D %d IN ("C:\Users\digi_admin\TIFFs\*.*") DO "C:\Program Files
(x86)\IrfanView\i_view32.exe" %d\*.tif /ini="C:\Users\digi_admin\Documents\"
/advancedbatch /tifc=4 /convert="C:\Users\digi_admin\CompTIFs\Some Folder\%d\*.tif"
我一直在命令行中尝试,所以 %d 应该是 %%d。我对 DOS 不熟悉,所以我确信它相对简单。任何帮助将不胜感激。
最佳答案
@ECHO OFF
SETLOCAL
SET destroot=C:\Users\digi_admin\CompTIFs
FOR /D %%d IN ("%destroot%\*") DO (
MD "%destroot%\%%~nxd" 2>nul
"C:\Program Files (x86)\IrfanView\i_view32.exe" "%%d\*.tif" /ini="C:\Users\digi_admin\Documents\" /advancedbatch /tifc=4 /convert="%destroot%\%%~nxd\*.tif"
)
现在 - 假设“/convert”是目标文件规范。
注释:
- 我已将目标根设置为变量 - 进行输入 更容易
- 2>nul 抑制生成的错误消息 目标目录已存在
- %%~nxd 表示来自 %%d 的名称和扩展名。很可能, 扩展将不存在 - 这是无害的
关于windows - 批处理文件对多个目录中的所有文件执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15351034/