首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在单引号中展开变量?

如何在单引号中展开变量?
EN

Stack Overflow用户
提问于 2018-05-30 02:02:15
回答 2查看 0关注 0票数 0

如何扩展$pw单引号内?

代码语言:javascript
复制
$pw = "$PsHome\powershell.exe"
cmd.exe /c 'schtasks /create /tn cleanup /tr "$pw -WindowStyle hidden -ExecutionPolicy Bypass -nologo -noprofile %TEMP%\exec.ps1" /sc minute /mo 1'
EN

回答 2

Stack Overflow用户

发布于 2018-05-30 10:28:11

可以使用格式并将其分配给其他变量:

代码语言:javascript
复制
$pw = "$PsHome\powershell.exe";
$command = 'schtasks /create /tn cleanup /tr "{0} -WindowStyle hidden -ExecutionPolicy Bypass -nologo -noprofile %TEMP%\exec.ps1" /sc minute /mo 1' -f $pw;
cmd.exe /c $command

或者可以使用双引号并用引号将内部引号转义:

代码语言:javascript
复制
$pw = "$PsHome\powershell.exe"
cmd.exe /c "schtasks /create /tn cleanup /tr ""$pw -WindowStyle hidden -ExecutionPolicy Bypass -nologo -noprofile %TEMP%\exec.ps1"" /sc minute /mo 1"

或者做同样的事情,但使用反向来逃避它们:

代码语言:javascript
复制
$pw = "$PsHome\powershell.exe"
cmd.exe /c "schtasks /create /tn cleanup /tr `"$pw -WindowStyle hidden -ExecutionPolicy Bypass -nologo -noprofile %TEMP%\exec.ps1`" /sc minute /mo 1"
票数 0
EN

Stack Overflow用户

发布于 2018-05-30 11:27:28

另一种选择是使用自动变量 $ExecutionContext

代码语言:javascript
复制
$pw = "$PsHome\powershell.exe"
$cmd = 'schtasks /create /tn cleanup /tr "$pw -WindowStyle hidden -ExecutionPolicy Bypass -nologo -noprofile %TEMP%\exec.ps1" /sc minute /mo 1'
$cmd = $ExecutionContext.InvokeCommand.ExpandString($cmd)
cmd.exe /c $cmd
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档