我是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
}
造成这种情况的原因是什么?
答案 0 :(得分:1)
正如@ arco444所述,问题在于这一行:
$src ="\\$ComputerName\*``\desktop"
重音符(`
)是一个转义字符。 PowerShell中有各种使用转义字符的方法,例如创建新行(`n
)或转义其他解释符号(例如,`#
不会创建注释)。
我希望能够解决这个问题。
答案 1 :(得分:0)
您将列表加载到$ ComputerName中,但不要在每个$ _
的末尾修剪回车/换行符所以$ ComputerName = $ _。trim()
再试一次,看看它现在有效。旧的IBM打字机逻辑。