PowerShell基于CSV中的子文件夹重命名文件



,该论坛链接与我的案件相似,我遵循下面的链接,实际上效果很好(我确实对其进行了一些调整以满足我的需求(:

我可以使用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",则有不同的解决方案。

相关内容

最新更新