Powershell脚本在每个文件夹的第三个位置插入一个“0”
Powershell script to insert a "0" on every folders 3rd position
我已经搜索过 google 但找不到答案。
我想要一个 powershell 脚本在每个文件夹名称的每个第 3 个位置添加一个零。
结构现在看起来像这样:
10_vdvdsfadsgd
11_dsnpdnfp
12_spancfspo
20_ndsknfp
21_mpmsdpfdo
我希望它是这样的:
100_vdvdsfadsgd
110_dsnpdnfp
120_spancfspo
200_ndsknfp
210_mpmsdpfdo
您可以使用 Rename-Item
重命名文件夹,然后使用 String.Insert()
:
在特定索引处的名称中插入 0
Get-ChildItem path\to\root\folder -Directory |Rename-Item -NewName { $_.Name.Insert(2, "0") }
如果您只想定位具有给定名称格式的文件夹,请使用 Get-ChildItem
的 -Filter
参数:
Get-ChildItem path\to\root\folder -Directory -Filter "??_*" |Rename-Item -NewName { $_.Name.Insert(2, "0") }
如果您将脚本中的路径更改为文件夹所在的位置,下面的脚本会更改名称以在下划线前添加一个零。
$folderspath = 'C:\Test'
$folders = gci -Path $folderspath
ForEach($folder in $folders) {
$CurrentFolderName = $folder.name
$CurrentFolderName = $CurrentFolderName.tostring()
$NewFolderName = $CurrentFolderName.Replace("_","0_")
$FolderPath = $folder.FullName
Rename-Item -Path $FolderPath -NewName $NewFolderName
}
我已经搜索过 google 但找不到答案。
我想要一个 powershell 脚本在每个文件夹名称的每个第 3 个位置添加一个零。
结构现在看起来像这样:
10_vdvdsfadsgd
11_dsnpdnfp
12_spancfspo
20_ndsknfp
21_mpmsdpfdo
我希望它是这样的:
100_vdvdsfadsgd
110_dsnpdnfp
120_spancfspo
200_ndsknfp
210_mpmsdpfdo
您可以使用 Rename-Item
重命名文件夹,然后使用 String.Insert()
:
Get-ChildItem path\to\root\folder -Directory |Rename-Item -NewName { $_.Name.Insert(2, "0") }
如果您只想定位具有给定名称格式的文件夹,请使用 Get-ChildItem
的 -Filter
参数:
Get-ChildItem path\to\root\folder -Directory -Filter "??_*" |Rename-Item -NewName { $_.Name.Insert(2, "0") }
如果您将脚本中的路径更改为文件夹所在的位置,下面的脚本会更改名称以在下划线前添加一个零。
$folderspath = 'C:\Test'
$folders = gci -Path $folderspath
ForEach($folder in $folders) {
$CurrentFolderName = $folder.name
$CurrentFolderName = $CurrentFolderName.tostring()
$NewFolderName = $CurrentFolderName.Replace("_","0_")
$FolderPath = $folder.FullName
Rename-Item -Path $FolderPath -NewName $NewFolderName
}