Arrays 在move item命令中引用Powershell数组

Arrays 在move item命令中引用Powershell数组,arrays,variables,powershell,directory,Arrays,Variables,Powershell,Directory,我的剧本有点问题。我正试图将一个目录中的所有文件移动到另一个目录,并引用文件路径的数组(见下文)。由于某种原因,它不起作用-当我运行命令时,它不做任何事情 以下是源目录的内容: 福尔德拉 folderB subFileA.txt fileA.txt fileB.txt 等 这是我的命令: mv .\$PRODUCTS_OLD_NAMES[0]\* .\$PRODUCTS_NEW_NAMES[0]\newfolder 当我运行它时,不会发生任何事情,也不会抛出任何错误。我做错了什么

我的剧本有点问题。我正试图将一个目录中的所有文件移动到另一个目录,并引用文件路径的数组(见下文)。由于某种原因,它不起作用-当我运行命令时,它不做任何事情

以下是源目录的内容:

  • 福尔德拉
  • folderB
    • subFileA.txt
  • fileA.txt
  • fileB.txt
这是我的命令:

mv .\$PRODUCTS_OLD_NAMES[0]\*  .\$PRODUCTS_NEW_NAMES[0]\newfolder
当我运行它时,不会发生任何事情,也不会抛出任何错误。我做错了什么


编辑:答案非常有效,是解决方案。

尝试(假设
$PRODUCTS\u OLD\u NAMES
$PRODUCTS\u NEW\u NAMES
是有效路径!)使用
$()
->变量扩展语法

mv .\$($PRODUCTS_OLD_NAMES[0])\*  .\$($PRODUCTS_NEW_NAMES[0])\newfolder

正如CB所建议的,这是解决方案:

mv.\$($PRODUCTS\u OLD\u NAMES[0])\*.\$($PRODUCTS\u NEW\u NAMES[0])\newfolder


请注意,括号用外部的
$
符号将数组引用括起来。

我们需要知道$PRODUCTS\u旧名称和$PRODUCTS\u新名称来自何处。您可以发布更多的代码吗?当我按照您的建议修改复制行并运行它时,结果是:
PRODUCTS\u OLD\u NAMES[0]:术语“PRODUCTS\u OLD\u NAMES[0]”不被识别为cmdlet的名称,function…
但是当我运行
echo$PRODUCTS\u OLD\u NAMES[0]时
我得到了预期的输出。更新我没有在表达式中重复使用
$
。当我完全按照你发布的内容复制你的文章时,效果非常好。谢谢@user1347428很乐意帮忙!