链接与我的案例相似的内容, 我遵循了下面的链接,它实际上工作得很好(对我的需求有所调整),
Can I rename files in subfolders based on.CSV file using Powershell
但是我想问的是与此有关的一件小事, 就我而言,我在csv中拥有的文件被提到为folder / name.ext,在链接中,它所做的实际上是搜索文件夹并重命名所有文件,而无法读取csv中的文件夹。 如何在PS中添加另一个参数以包括该参数?
Oname,NName folder1/Name1,NewName1 folder1/Name2,Newname2
谢谢。
答案 0 :(得分:0)
您可以尝试以下方法:
select
答案 1 :(得分:0)
听起来您也想重命名这些文件夹,但是在您提供的示例csv中,您没有包括希望将旧文件夹重命名为的内容。
我不知道您是如何创建文件夹/文件列表的,但是如果您可以重新创建csv以使其看起来像这样:
Oldname,NewName
Name1,NewName1
Name2,Newname2
Folder1,Newfolder1
Folder1,Newfolder2
然后Niraj Gajjar提供的代码将重命名列表中的所有文件和文件夹:
$data = Import-Csv -Path "YOUR_FILE_NAME.csv" # READING CSV FILE
foreach ($item in $data) # FOR EACH LOOP IN ALL CSV ENTRIES
{
Rename-Item -Path "${$item.Oldname}" -NewName "${$item.NewName}"
} # END OF FOR EACH LOOP
如果由于某种原因需要将csv的格式保留为“ folder1 / Name,Newname1”,则有不同的解决方案。