我在Windows目录中有一组文件(OldName),我想根据以下CSV文件重命名(NewName):
OldName,NewName
Sources/texas play_PGC_Cpgc_entryPoint_Cbp_1.f4v,01 Texas Play.f4v
Sources/texas play_PGC_Cpgc_entryPoint_Dbp_1.f4v,02 First Song.f4v
Sources/texas play_PGC_Cpgc_entryPoint_Ebp_1.f4v,03 Yellow Rose.f4v
我不知道如何循环通过CSV文件...查找每个文件并替换。
任何想法将不胜感激。
4条答案
按热度按时间9cbw7uwe1#
首先将CSV文件导入PowerShell
注意:在我的示例中,CSV文件的路径在我的桌面上,但在您的桌面上可能不同。
然后使用foreach循环重命名这些项
krcsximq2#
一种方法是创建两个列表并循环遍历它们。CSV文件将是一个引用列表,因此我们将获取内容并将其从CSV转换,然后将其存储在变量中
然后,我们将获得要更改名称的文件列表,并循环遍历每个文件。在循环内部,您可以运行另一个循环来查找引用列表中的当前名称,然后将其更改为新名称。
因此,在第二个循环中,我们尝试将文件名与CSV文件列表中的每个“OldName”项进行比较。如果OldName与我们正在循环的当前文件中的某个地方匹配,那么我们运行Rename-Item并为其提供NewName。它应该会自动重命名文件。
ldfqzlk83#
将这两个例子结合起来效果很好
b91juud34#
我想做一些类似使用PowerShell的事情。
例:有许多文件的文件名是随机的。我想从上到下重命名它们,这样每个文件的文件名将从csv文件中提取特定的名称。