Get-Childitem:非法字符路径错误

时间:2014-03-28 16:22:01

标签: windows powershell

我是PowerShell的新手,也是编程新手。 我正在尝试使用脚本来搜索所有类型的文件并将其放入文件夹中。

但它给了我错误;

Get-Childitem:illegal character path

$extensions = '*.xls*', '*.docx*', '*.txt', '*.pdf', '*.jpg', '*.pub'

Get-Content C:\scripts\computer\computers.txt | % {
  $ComputerName = $_

  $dst ="\\192.168.1.11\public\$ComputerName" 
  $src ="\\$ComputerName\*``\desktop"


  New-Item -ItemType Directory $dst

  Get-Childitem $src -Include $extensions -Recurse -Force |
    Copy-Item -Destination $dst
}

造成这种情况的原因是什么?

2 个答案:

答案 0 :(得分:1)

正如@ arco444所述,问题在于这一行:

$src ="\\$ComputerName\*``\desktop"

重音符(`)是一个转义字符。 PowerShell中有各种使用转义字符的方法,例如创建新行(`n)或转义其他解释符号(例如,`#不会创建注释)。

我希望能够解决这个问题。

答案 1 :(得分:0)

您将列表加载到$ ComputerName中,但不要在每个$ _

的末尾修剪回车/换行符

所以$ ComputerName = $ _。trim()

再试一次,看看它现在有效。旧的IBM打字机逻辑。