如何使用PowerShell向多个文件的开头添加单词

时间:2013-10-18 03:06:08

标签: windows file powershell batch-file renaming

今天我走进我的办公室,有几个人在电脑上手动重命名了数百个文件。我查找了重命名多个文件的方法。我目前知道如何用另一个值替换值。比如说Dir | Rename-Item –NewName { $_.name –replace " ","_" },它将文件名中的所有空格替换为下划线。

但是,对于我的特定任务,我需要在所有文件名前添加一个单词,例如:

Johnhancock.pdf, AnitaMann.pdf, AmandaHugginkiss.pdf

(scores)Johnhancock.pdf, (scores)AnitaMann.pdf, (scores)AmandaHugginkiss.pdf

我怎么会这样做?这个特定项目需要括号。

3 个答案:

答案 0 :(得分:2)

在该脚本块中,您只需为每个项目生成所需的名称。 $_代表当前项目。对于你的例子,它将是:

Get-ChildItem | Rename-Item -NewName { "(scores)$($_.Name)" }

答案 1 :(得分:0)

这将使用批处理文件处理整个目录树。如果您在屏幕上看到的内容符合您的要求,请删除echo。删除/r以仅处理当前文件夹。

@echo off
for /r %%a in (*.txt) do echo ren "%%a" "(scores)%%~nxa"

答案 2 :(得分:0)

对我来说有用的是如下代码(我无法完成上述工作):

Get-ChildItem *.pdf | rename-item -NewName { "(score)" + $_.Name }