【发布时间】:2021-08-27 12:14:32
【问题描述】:
问题
当前设置和代码:
我有一个公用文件夹,其中有两个 .ps1 脚本:
- DoWork.ps1
- Workmanager.ps1
Workmanager.ps1 调用 Dowork.ps1:
$targetPath="M:\target"
echo "target path: $targetPath"
start powershell {.\DoWork.ps1 -target $targetPath -tempdrive D:\}
输出(如预期):
目标路径:M:\target
DoWork.ps1 包含一些起始代码:
param
(
[string]$tempdrive,
[string]$target,
[int] $threads = 8,
[int] $queuelength = -1
)
echo "variables:"
echo "temp drive: $tempdrive"
echo "target path: $target"
出乎意料的是,$target 没有被分配。以前我有一个名为 $targetpath 的变量,它也不起作用。
变量:
临时驱动器:D:\
目标路径:
调查结果
看来问题出在 Workmanager.ps1 中。将参数指定为固定字符串而不是变量将加载参数。有什么解决办法吗?
start powershell {.\DoWork.ps1 -target "foo" -tempdrive D:\}
【问题讨论】:
标签: powershell variables parameters