在一个文件夹中,我有200个名为D_1,D_2,...,D_200的文件夹
我有一个文本文件,其中包含我想要的这些文件夹的新名称:
名1
名称2
...
Name200
(我从excell电子表格栏中获得了此列表。)
所以我希望这些名称更改:D_1 - >名称1,...,D_200 - > Name200。
我安装了Powershell,在Windows 8.1(不是专业版)上
如何使用Powershell或常规Windows命令行重命名?
答案 0 :(得分:1)
您需要做的就是将原始文件夹从D_200
排序到Rename-Item
,循环迭代它们并使用# Read new names from file
$newNames = Get-Content .\file\with\new\names.txt
# Retrieve existing folders and sort by the number in their name
$oldFolders = Get-ChildItem C:\path\to\folders\ -Filter 'D_*' -Directory | Sort {$_.Name.Split('_')[1] -as [int]}
for($i = 0; $i -lt $oldFolders.Count; $i++)
{
# Rename each folder
Rename-Item $oldFolders[$i].FullName -NewName $newNames[$i]
}
将其重命名为文件中的相应名称:< / p>
{{1}}
答案 1 :(得分:0)
谢谢!
马蒂亚斯的回答似乎很棒
我找到了另一种方式
我创建了一个带有旧名称和新名称的csv文件:
旧的,新
D_1,xuty
...
D_200,dvodjvov
然后我复制粘贴shell中的命令:
$csv = Import-Csv old_new.csv
foreach ($line in $csv) {
Rename-Item $line.old $line.new
}
它有效(在5个文件夹中) 唯一的缺点是我必须填写我的csv左栏中的旧名称。