使用/ Powershell批量重命名 - 需要在csv中查找并匹配file_id和title

时间:2014-11-27 12:23:48

标签: windows excel powershell batch-file

我已经知道可以通过Powershell进行批量重命名,但到目前为止我还没有找到解决问题的答案:

我有一个以ID:

命名的pdfs主食
Eg. 
332906.pdf
331339.pdf
343807.pdf
...

我从电子表格中生成了一个简单的CSV,其中包含第一列中的ID以及第二列中我想要的相应文件名:

appid;Fullname with I.D.
332906;Mike Miller_332906;
331339;Tom Hanks_331339;
343807;Scarlett Jo_343807;

.... ....

我必须在我的办公室电脑上这样做,所以我无法下载额外的程序或使用编程语言,我只有cmd框和Powershell。

我能这样做吗?

感谢您的帮助!

编辑:电子表格更改为CSV;已添加CSV示例

1 个答案:

答案 0 :(得分:2)

列标题可能有问题,但如果将其更改为以下内容:

appid,Fullname_ID
332906,Mike Miller_332906,
331339,Tom Hanks_331339,
343807,Scarlett Jo_343807,

您可以运行此简单脚本来执行文件重命名:

$c = import-csv .\path\to.csv
$c | % { mv "$($_.appid).pdf" "$($_.Fullname_ID).pdf" }

这样做是创建一个包含csv文件数据的PowerShell对象。

$c | % { .. }表示迭代csv中的所有行并运行块{...}中的代码

$_代表每一行,您可以使用.appid.Fullname_ID来访问这些列。移动(mv)命令是您将用于重命名的命令。