Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 5.1.17763.1007如何执行存储在变量中的字符串命令(复制项)_Powershell - Fatal编程技术网

Powershell 5.1.17763.1007如何执行存储在变量中的字符串命令(复制项)

Powershell 5.1.17763.1007如何执行存储在变量中的字符串命令(复制项),powershell,Powershell,我有一个简单的任务不起作用: $Copy = copy-item -path "C:\Folder 0" -destination "C:\Folder $x\" -recurse for($x=1; $x -le 9;$x++) { $Copy } 我无法在变量$Copy中执行命令,当我运行循环时,它只是将$Copy打印到控制台,因为变量似乎是空的。 我尝试调用表达式,&$Copy,将Copy Item命令放在“”下,但在这里不起作用 对初学者有什么

我有一个简单的任务不起作用:

$Copy = copy-item -path "C:\Folder 0" -destination "C:\Folder $x\" -recurse

for($x=1; $x -le 9;$x++)
{
$Copy
}
我无法在变量$Copy中执行命令,当我运行循环时,它只是将$Copy打印到控制台,因为变量似乎是空的。 我尝试调用表达式,&$Copy,将Copy Item命令放在“”下,但在这里不起作用

对初学者有什么建议吗


提前谢谢

如注释中所述,
Copy Item
默认情况下不返回任何内容,因此
$Copy
的值为
$null

从你澄清的评论中:

实际上,我只是想存储命令

如果您想要稍后可以调用的可执行代码块,您可能需要定义一个
[scriptblock]
。PowerShell中的Scriptblock文本很简单,只需将代码包装在
{}
中,并可选地提供参数定义:

$CopyCommand = {
  param([string]$X)

  Copy-Item -Path "C:\Folder 0" -Destination "C:\Folder $X\" -Recurse
}

& $CopyCommand 1
# later in the script
& $CopyCommand 2
或者,您可以使用相同的方法定义函数:

function Copy-MyFolderTree
{
  param([string]$X)

  Copy-Item -Path "C:\Folder 0" -Destination "C:\Folder $X\" -Recurse
}

Copy-MyFolderTree -X 1
# later in the script
Copy-MyFolderTree -X 2

Copy Item
默认情况下不返回任何内容,因此
$Copy
的值为
$null
。你什么都不能执行。你到底希望完成什么?@MathiasR.Jessen谢谢你的回答。实际上我只想存储命令,所以当我在其他地方使用它时,我不需要输入整个命令。别名是否适合我的命令?您是否有理由相信需要在一个脚本中多次运行同一精确复制行?我想到的第一件事是类似于
1..9 | foreach{Copy Item-Path“C:\Folder 0”-Destination“C:\Folder$\u\”-Recurse}
的东西,但当我不知道到底是什么(更多/其他)你打算这么做。@notjustme让我们换一种说法:我将来可能会创建一个更长的循环。与逐行编写代码不同,我更愿意为某些命令使用别名,因此我需要以某种方式存储命令…。。@MathiasR.Jessen非常感谢您的努力。我认为有一种更简单的方法来存储这样的命令并在代码中稍后调用它,但您的两种解决方案对我来说都很好。@notjustme如果不清楚,我很抱歉。我认为这是一条狭窄的道路,从你想写的笔直到写一篇无人阅读的文章。不过,谢谢你的反馈。在使用PS和Stackoverflow时,我想我将来会有所改进。@Adis1102“简单”当然是主观的,但“封闭在
{}
中”对我来说似乎很简单:)