Windows批处理命令:多个文件夹

Windows批处理命令:多个文件夹,windows,batch-file,Windows,Batch File,以下Windows批处理命令转换文件夹C:\RootFolder\Folder1中的所有tif图像 for %%i in (C:\RootFolder\Folder1\*.tif) do "Tiff2Pdf.exe" -o C:\RootFolder\Folder1\%%~ni.pdf %%i 如何对RootFolder中的所有可用文件夹执行此操作 谢谢你的时间 FOR /F "delims=" %%i IN ('dir /b /s C:\RootFolder\Folder1\*.tif')

以下Windows批处理命令转换文件夹C:\RootFolder\Folder1中的所有tif图像

for %%i in (C:\RootFolder\Folder1\*.tif) do "Tiff2Pdf.exe" -o C:\RootFolder\Folder1\%%~ni.pdf %%i
如何对RootFolder中的所有可用文件夹执行此操作

谢谢你的时间

FOR /F "delims=" %%i IN ('dir /b /s C:\RootFolder\Folder1\*.tif') DO "Tiff2Pdf.exe" -o "%%~dpi%%~ni.pdf" "%%i"
  • 使用
    dir/s/b
    执行完整的递归枚举
  • 使用/F“delims=“解析结果并使用空格处理路径
  • 使用%%~dpi%%获取每个文件的目录
  • 使用%%~ni获取不带扩展名的文件名

还有另一种方法-只需添加:

@echo off
for /r "c:\rootfolder\folder1" %%a in (*.tif) do "Tiff2Pdf.exe" -o "%%~dpna.pdf" "%%a"

我还将循环变量更改为
a
,因为我在许多字体中接近l和I以及1。

谢谢。它可以工作,但只有在删除“delim=”时才能工作。谢谢。我修正了一个打字错误。它应该是
“delims=“
而不是
”delim=“
@echo off
for /r "c:\rootfolder\folder1" %%a in (*.tif) do "Tiff2Pdf.exe" -o "%%~dpna.pdf" "%%a"