我需要删除目录中每个文件的前 3 个字符。这是我的代码:
Get-ChildItem "D:\New Folder" -Filter *.txt |
foreach-object -process {rename-item -path $_.FullName -newname ($_.Remove(0,3))}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么这不起作用。有人可以帮助我吗?
$_ 指的是文件对象。不是文件名。我怀疑这只是让您忘记了,因为您确实为 -Path 引用了 $_.Fullname。重命名时尝试引用名称而不是对象:
Get-ChildItem "D:\New Folder" -Filter *.txt |
foreach-object -process {rename-item -path $_.FullName -newname ($_.Name.Remove(0,3))}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5562 次 |
| 最近记录: |