Rus*_*dhe 4 powershell cmd batch-file
我有一个 powershell 文件,用于替换配置文件中的 IP。powershell 接受三个参数:
'C:\Program Files (x86)\app\app.conf')由于我们依赖于为我们的服务使用批处理文件来处理任务,因此我编写了一个批处理脚本,该脚本只需要三个参数并将其发布到 powershell 脚本。
我们使用批处理文件来调用和解析参数: ($只是用来表示变量)
changeip.bat '$filepath' $oldip $newip
Run Code Online (Sandbox Code Playgroud)
这失败了,但我不明白为什么。我试过使用双引号而不是单引号$filepath,它奏效了。
如何$filepath用双引号而不是单引号来理解空格?
简短的回答是CMD 不会将单引号视为常规字符。它不是像双引号那样的对/组。
单引号具有任何特殊含义的唯一地方是在FOR /F循环中,您可以在其中指定要运行和迭代输出的命令。
FOR /F %%d IN ('DIR /S /B C:\Windows') DO @ECHO File: %%d
Run Code Online (Sandbox Code Playgroud)
FOR /F 可以选择使用反引号,以防您需要将单引号传递给被调用的进程,但这与您的问题无关。
| 归档时间: |
|
| 查看次数: |
3503 次 |
| 最近记录: |