创建 Bat 文件以对文件夹和子文件夹中的所有文件执行命令

Creating Bat file to execute a command on all files in folder and subfolders

我需要在每个 xlsx 文件上 运行 这个带有几个参数的命令行程序:

"C:\temp\cnv.exe" "param1" "param2" "param3",其中

开始于,但不知道如何结束:

cd "d:\temp\" for /r %%i in (*.xlsx) do "C:\temp\cnv.exe" "%%i"........ "-layout"?

您不需要使用 /R 开关执行 cd

for /r "D:\Temp" %%i in (*.xlsx) do "C:\temp\cnv.exe" "%%i" "%%~dpi" -layout

只有带有路径 c:\temp\cnv.exe 的命令和路径应该用双引号引起来(如果它包含空格)-layout 和任何其他 - 开关不需要双引号。

我看到您现在没有使用它,但是当您准备好使用 PowerShell 时,这可能是一个起点。

Get-ChildItem -Recurse *.csv |
    ForEach-Object { & C:\temp\exe `"$_.FullName1" `"$_.DirectoryName`" -layout }