批量重命名瓦特/ Powershell – 需要查找和匹配file_id与csv中的标题

我已经知道通过Powershell批量重命名是可能的,但到目前为止,我没有find解决我的问题的答案:

我有一个用ID命名的主要的pdf:

Eg. 332906.pdf 331339.pdf 343807.pdf ... 

我从我的电子表格中生成了一个简单的CSV文件,其中包含第一列中的id和第二个文件夹中相应的文件名:

 appid;Fullname with ID 332906;Mike Miller_332906; 331339;Tom Hanks_331339; 343807;Scarlett Jo_343807; 

…. ….

我必须在我的办公室电脑上这样做,所以我不能下载额外的程序或使用编程lanugages,我所有的是cmd框和Powershell。

我可以这样做吗?

感谢您的帮助!

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

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

 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" } 

它所做的是创build一个包含csv文件数据的PowerShell对象。

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

$_表示每一行,并且可以使用.appid.Fullname_ID访问列。 move( mv )命令是您将用来执行重命名的命令。