"Yeniden Adlandır - Öğe", dosya adını yalnızca dosya adı başına iki karakter bırakmak için uzantı olmadan çıkarılmak üzere kullanılabilir mi? Ex içinPowerShell Rename-Öğe şeridi dosya adı
. "0001 filename.txt"> "0000.txt"
"Yeniden Adlandır - Öğe", dosya adını yalnızca dosya adı başına iki karakter bırakmak için uzantı olmadan çıkarılmak üzere kullanılabilir mi? Ex içinPowerShell Rename-Öğe şeridi dosya adı
. "0001 filename.txt"> "0000.txt"
Böyle bir alt dizeyle birlikte kullanabilir:
$a = "0001 filename.txt"
Rename-Item -Path $a -NewName $("$($a.Substring(0,4)).txt")
her zaman örnek, Rakamlar ve Non gibi aynı kuralı kullanıyorsanız
kullanabilirsiniz rakamdan oluşan:
$Filename = Get-ChildItem 'C:\folder\0001 filename.txt'
Rename-Item $Filename -NewName ($Filename.Name -replace "\W+\w+[^.txt]")
kongre farklı ise farklı bir düzenli ifade oluşturmak için gereken
Buraya benim de gireceğim. Boşluklarda (veya parantez içindeki herhangi bir karakter) bir dizgeyi kırmak için .Split()
yöntemini kullanabilirsiniz. Böl ve sonra istediğimiz değerlere indeks.
$a = "0001 filename.txt"
$a.Split()[1]
>filename.txt
Dosyanızı yeniden adlandırmak için bunu yapmak istesek, böyle görünecektir.
Rename-Item $Filename -NewName $a.Split()[1]
Dosyanızın yolunu kullanarak "E: \ 0000 File1.txt" dosyasını değiştirin. Yapacağım bir sürü dosyanız olduğunu varsayalım, burada birkaç dosya için format var.
$File = "E:\File1.txt","E:\File2.txt","E:\File3.txt"
Bu, tam bir koddur. Ayrıca, bir dosya ile dolu bir dizin de verebilir, ancak bu dizinin alt klasörleri varsa, bunlar tarafından yeniden adlandırılabilir. İlk iki satırı sadece beğeninize göre değiştirmelisiniz.
$File = "E:\0000 File1.txt","E:\0000 File2.txt"
$CharsToKeep = 7
Get-ChildItem $File |
ForEach-Object{
$Orig = $_.fullname
$NewName = ($_.BaseName).Substring(0,$CharsToKeep) + $_.Extension
Rename-Item -path $Orig -NewName $NewName
} # end Foreach. Also end Get-ChildItem
Bu çözüm, gereksinimlerimi daha iyi karşılar. Teşekkür ederim. – Rayearth