,该论坛链接与我的案件相似,我遵循下面的链接,实际上效果很好(我确实对其进行了一些调整以满足我的需求(:
我可以使用powerShell
基于csv文件中的子文件夹中重命名文件。,但我还有另一个与之相关的问题。在我拥有的CSV中,提到了文件夹/名称。ext,从链接中,实际上是通过文件夹搜索并重命名了所有文件,但并未重命名CSV中列出的文件夹。我还需要添加哪个参数以包含文件夹?
oname,nnamefolder1/name1,newname1folder1/name2,newname2
谢谢。
您可以尝试以下方法:
$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.Oname}" -NewName "${$item.NName}"
} # END OF FOR EACH LOOP
听起来您也想重命名文件夹,但是在您提供的示例中,您还没有包含您希望旧文件夹重命名的内容。
我不知道您是如何创建文件夹/文件列表的,但是如果您可以重新创建您的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",则有不同的解决方案。