创建 Bat 文件以对文件夹和子文件夹中的所有文件执行命令
Creating Bat file to execute a command on all files in folder and subfolders
我需要在每个 xlsx 文件上 运行 这个带有几个参数的命令行程序:
"C:\temp\cnv.exe" "param1" "param2" "param3"
,其中
参数 1 - *.xlsx 文件的完整路径,也搜索了文件(例如 "D:\temp\sample1.xlsx");
param2-输出文件夹的完整路径,应该与当前文件相同(例如"D:\temp\");
- param3-static wording("-layout").
开始于,但不知道如何结束:
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 }
我需要在每个 xlsx 文件上 运行 这个带有几个参数的命令行程序:
"C:\temp\cnv.exe" "param1" "param2" "param3"
,其中
参数 1 - *.xlsx 文件的完整路径,也搜索了文件(例如 "D:\temp\sample1.xlsx");
param2-输出文件夹的完整路径,应该与当前文件相同(例如"D:\temp\");
- param3-static wording("-layout").
开始于,但不知道如何结束:
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 }