使用变量作为目标文件夹名称的复制项目问题

Copy-Item Issue using a variable as destination folder name

我遇到了一些奇怪的事情,你可以帮助我。

我正在做以下事情:

  $DateStringInput=Read-host

Copy-Item -Path "C:\Hodzic\PowerShell\Testordner\Q_Schulungspräsentationen\Vorlage" -Destination "C:\Hodzic\PowerShell\Testordner\Q_Schulungspräsentationen$DateStringInput_KSF_Grundlagen"  -Recurse

这不起作用,因为错误提示您不能用自身覆盖 [Folder]...复制项目路径中包含的每个文件都会重复错误。

如果我现在在目标部分的最后部分的“_”前面放一个 space 或任何其他内容,它会起作用:

...$DateStringInput _KSF_Grundlagen" 或 $DateStringInput+_KSF_Grundlagen"

你能帮忙吗?

PowerShell 解析器将所有 $DateStringInput_KSF_Grundlagen 解释为单个变量表达式。

将变量名括在{}中以防止:

$Destination = "C:\Hodzic\PowerShell\Testordner\Q_Schulungspräsentationen${DateStringInput}_KSF_Grundlagen"
Copy-Item -Path "C:\Hodzic\PowerShell\Testordner\Q_Schulungspräsentationen\Vorlage" -Destination $Destination