我正在使用Windows 7 64位家庭版。我有一個以特定字符串開頭的文件夾中有超過100個文件。我希望刪除這個字符串。更改目錄中所有文件的名稱?
例如:abc_file1.txt,abc_file2.txt,abc_file3.txt等。我想改變 文件名來FILE1.TXT,FILE2.TXT,file3.txt等
但是,手工做這個東西要花很多時間。有沒有更容易和更快的方法來實現這一點。
我正在使用Windows 7 64位家庭版。我有一個以特定字符串開頭的文件夾中有超過100個文件。我希望刪除這個字符串。更改目錄中所有文件的名稱?
例如:abc_file1.txt,abc_file2.txt,abc_file3.txt等。我想改變 文件名來FILE1.TXT,FILE2.TXT,file3.txt等
但是,手工做這個東西要花很多時間。有沒有更容易和更快的方法來實現這一點。
我被大家收到的迴應所淹沒。由於我沒有紮實的編程背景,所以我尋找一種簡單的方法,或者是一種可以爲我做的自動化軟件。
Bulk Rename Utility是一款出色的軟件,它不僅可以刪除字符串,而且還有很多東西需要我花幾小時手動完成。
我在與abc _ *。txt文件相同的目錄下創建了rename.bat。
rename.bat
echo off
for /r %%i in (*.txt) do rename "abc*.txt" "////*.txt"
樣品試驗
C:\Users\jgosalia\Desktop\directory>dir
Directory of C:\Users\jgosalia\Desktop\directory
07/12/2017 11:40 PM <DIR> .
07/12/2017 11:40 PM <DIR> ..
07/12/2017 11:35 PM 0 abc_file1.tx
07/12/2017 11:35 PM 0 abc_file2.tx
07/12/2017 11:35 PM 0 abc_file3.tx
07/12/2017 11:35 PM 0 abc_file4.tx
07/12/2017 11:35 PM 0 abc_file5.tx
07/12/2017 11:35 PM 0 abc_file6.tx
07/12/2017 11:39 PM 64 rename.bat
7 File(s) 64 bytes
2 Dir(s) 269,494,484,992 bytes free
C:\Users\jgosalia\Desktop\directory>rename.bat
C:\Users\jgosalia\Desktop\directory>echo off
C:\Users\jgosalia\Desktop\directory>dir
Directory of C:\Users\jgosalia\Desktop\directory
07/12/2017 11:40 PM <DIR> .
07/12/2017 11:40 PM <DIR> ..
07/12/2017 11:35 PM 0 file1.txt
07/12/2017 11:35 PM 0 file2.txt
07/12/2017 11:35 PM 0 file3.txt
07/12/2017 11:35 PM 0 file4.txt
07/12/2017 11:35 PM 0 file5.txt
07/12/2017 11:35 PM 0 file6.txt
07/12/2017 11:39 PM 64 rename.bat
7 File(s) 64 bytes
2 Dir(s) 269,494,484,992 bytes free
C:\Users\jgosalia\Desktop\directory>
您可以使用Python它。
import os
def renaming_all_files():
file_list=os.listdir(r"C:\example\directory")
for file_name in file_list:
os.rename(file_name,file_name.translate(None,"abc"))
renaming_all_files()
PowerShell中的另一種方法。
$ps = 'abc_'
Get-ChildItem -File -Filter ${ps}*.txt |
ForEach-Object { Move-Item $_.FullName $($_.Name -replace $ps,'') }
它可以從.bat腳本調用。
powershell -NoProfile -Command "$ps = 'abc_'; Get-ChildItem -File -Filter ${ps}*.txt | ForEach-Object { Move-Item $_.FullName $($_.Name -replace $ps,'') }"
https://www.howtogeek.com/111859/how-to-batch-rename-files-in-windows-4-ways-to-rename-multiple-files/ – perigon
Thanks @ user55449,[Bulk Rename Utility](http://www.bulkrenameutility.co.uk/Main_Intro.php)是一個非常強大的工具。不僅刪除字符串,我可以用它做很多東西。你能否寫下你的評論作爲答案,以便我可以接受它? –
我從來沒有使用它(甚至不使用Windows),所以我不認爲我可以寫出一個好的答案。不過,你可以編寫並接受你自己的答案。 – perigon