Windows 创建Bat文件以对文件夹和子文件夹中的所有文件执行命令
我需要在每个xlsx文件上运行此命令行程序,并使用一些参数:Windows 创建Bat文件以对文件夹和子文件夹中的所有文件执行命令,windows,batch-file,cmd,batch-processing,Windows,Batch File,Cmd,Batch Processing,我需要在每个xlsx文件上运行此命令行程序,并使用一些参数: “C:\temp\cnv.exe”“param1”“param2”“param3”,其中 param1*.xlsx文件的完整路径,也搜索文件(例如“D:\temp\sample1.xlsx”) param2输出文件夹的完整路径,对于当前文件应相同(例如“D:\temp\”) param3静态措辞(“-layout”) 从开始,但不知道如何结束: cd“d:\temp\” 对于(*.xlsx)中的/r%%i,请执行“C:\temp\
“C:\temp\cnv.exe”“param1”“param2”“param3”
,其中
- param1*.xlsx文件的完整路径,也搜索文件(例如“D:\temp\sample1.xlsx”)
- param2输出文件夹的完整路径,对于当前文件应相同(例如“D:\temp\”)
- param3静态措辞(“-layout”)
cd“d:\temp\”
对于(*.xlsx)中的/r%%i,请执行“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 }
在命令提示下输入/?的时可以查看修改器。您可能希望使用一个将%%i
扩展到其驱动器和路径的文件夹。对于输出文件夹,应与当前文件相同
将的“D:\temp\”
替换为“%%dpi”
我最终使用的是:对于(*.xlsx)中的/r“D:\temp”%%i,请执行“C:\temp\cnv.exe”%%i”%%dpi”-布局
感谢@Gerhard和@Stephan,@Stephan。谢谢,我从来没有注意到这个评论。更改:)对批处理资源有什么建议吗?也许有一些例子,一些标准以外的帮助。谢谢你:)@lino。最好的资源在您的电脑上。运行cmd/?
它将为您提供所有命令。只需使用/?
开关运行每个命令即可获得每个命令的帮助。