gpt4 book ai didi

powershell - 将 %* 从批处理脚本作为 $args 传递给 powershell 脚本时转义参数

转载 作者:行者123 更新时间:2023-12-04 19:13:53 25 4
gpt4 key购买 nike

我有一个批处理脚本,它接受任意数量的参数(文件列表)并使用以下命令结构执行 powershell 脚本:
"%POWERSHELL%" -Command "%SCRIPT%" %*%POWERSHELL%是到 PowerShell.exe 的路径, 和 %SCRIPT%是我的 PowerShell 脚本,它解释接收 %*$args .问题是,如果我传入文件名 test$file.name 之类的东西, PowerShell 收到 test.name ,大概是因为 $file被解释为一个空变量。

有没有一种好方法可以用批处理脚本中的单引号或反引号来转义每个参数,或者以其他方式处理这个问题?

最佳答案

在将 %* 传递给 PowerShell 脚本之前转义 $ 字符。

set ARGS=%*
set ARGS=%ARGS:$=`$%
"%POWERSHELL%" -Command "%SCRIPT%" %ARGS%

关于powershell - 将 %* 从批处理脚本作为 $args 传递给 powershell 脚本时转义参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12223790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com