loo*_*now 6 windows command-line batch-file
假设我有一个名为batch.bat的批处理文件,其内容如下:
@echo off
C:\path\to\program\program.exe -variables "%1"
Run Code Online (Sandbox Code Playgroud)
假设我有一个名为 file.txt 的文件和另一个名为 file2.txt 的文件
假设我将 file.txt 放到了 batch.bat 上。
我想要发生的是:
@echo off
C:\path\to\program\program.exe -variables "file.txt"
Run Code Online (Sandbox Code Playgroud)
@echo off
C:\path\to\program\program.exe -variables "file2.txt"
Run Code Online (Sandbox Code Playgroud)
这个概念可能吗?批处理文件的内容需要是什么?
如果这可以通过其他简单的方式来完成,我也愿意。但我需要能够运行带有参数的命令行命令,因为我正在运行命令行程序,而不是记事本或其他程序。
在 @Se\xc3\xb1orCMasMas\ 的帮助下,我使用if、set、echo(到文件)和start命令提出了一个解决方案。
\n\n如果您要打开的路径或文件中有空格,则启动命令需要标题参数。此外,如果是这种情况,它需要单独的路径参数和文件名参数。因此,我的批处理文件相当长,以允许这些可能性。
\n\nif not "%~1"=="" set input-title=""\nif not "%~1"=="" set input-path="%~dp1"\nif not "%~1"=="" set input-file="%~nx1"\nif not "%~1"=="" echo %input-title% /d %input-path% %input-file%>input.txt\nset /p start-input=<input.txt\nstart %start-input%\n
Run Code Online (Sandbox Code Playgroud)\n\nhttps://ss64.com/nt/syntax-args.html对于解释传递给批处理文件的参数的表示方式与其他变量不同 - 只有前导“%”,没有尾随“%”很有用。
\n\n\'for\' 的 Windows 文档对于解释变量替换非常有用,它允许您将驱动器+路径+文件变量分解为其组成部分,并且允许您使用 " 从参数值中删除封闭的双引号~”。
\n 归档时间: |
|
查看次数: |
10552 次 |
最近记录: |