Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 创建Bat文件以对文件夹和子文件夹中的所有文件执行命令_Windows_Batch File_Cmd_Batch Processing - Fatal编程技术网

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

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\

我需要在每个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\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/?
它将为您提供所有命令。只需使用
/?
开关运行每个命令即可获得每个命令的帮助。