我正在尝试在 PowerShell 中执行这个看似简单的过程。我只想复制文件“test1.png”并重命名它,从文本文件 (test.txt) 的每一行中获取新名称
例如,我的文本文件有:
新名称1.png
新名称2.png
新名称3.png
新名称4.png
我想将文件“test1.png”复制到另一个路径,并用这些名称重命名。我目前正在使用这个:
Get-Content n:\test.txt | ForEach-Object { Copy-Item Z:\Old\test1.png -Destination "N:\New Folder\$_" }
但是我收到一个错误:
Copy-Item : The provided format of the path is not supported.
Line: 1 Character: 48
+ ... ch-Object { Copy-Item Z:\Old\test1.png -Destination "N:\New Fol ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Copy-Item], NotSupportedException
+ FullyQualifiedErrorId : System.NotSupportedException,Microsoft.PowerShell.Commands.CopyItemCommand
我对 PS 几乎一无所知,我只是从另一个问题中得到了这个命令,并根据我的需要对其进行了格式化,显然我做错了。我可能也不需要输入“-Destination”。
答案1
您不能将这些 '/,\,|,:,?,<,>,*'
放在文件名中,这些不是受支持的文件格式。
要修复该问题,你可以像这样使用替换,例如:如果你想在路径中将“/”替换为“-”,你可以简单地这样做
filepath.Replace("/","-").FileExtendtion