如何使用PowerShell添加单词到多个文件的开头
问题描述:
今天我走进了我的办公室,几个人在计算机上手动重命名了数百和数百个文件。我查找了重命名多个文件的方法。我目前知道如何用另一个值替换一个值。说例如Dir | Rename-Item –NewName { $_.name –replace " ","_" }
,它将文件名中的所有空格替换为下划线。如何使用PowerShell添加单词到多个文件的开头
但是,对于我的特殊任务,我需要添加只是一个字中的所有文件名的前面,例如:
Johnhancock.pdf, AnitaMann.pdf, AmandaHugginkiss.pdf
到
(scores)Johnhancock.pdf, (scores)AnitaMann.pdf, (scores)AmandaHugginkiss.pdf
我会怎样,我会做这个?这个特定项目需要括号。
答
在该脚本块中,您只需为每个项目生成所需的名称即可。 $_
代表当前项目。举例来说,它将是:
Get-ChildItem | Rename-Item -NewName { "(scores)$($_.Name)" }
答
这将使用批处理文件处理整个目录树。如果您在屏幕上看到的内容符合您的要求,请删除echo
。删除/r
以仅处理当前文件夹。
@echo off
for /r %%a in (*.txt) do echo ren "%%a" "(scores)%%~nxa"
答
什么工作对我来说是代码如下(我不能得到上述工作):
Get-ChildItem *.pdf | rename-item -NewName { "(score)" + $_.Name }