2017-07-13 84 views
0

我正在使用Windows 7 64位家庭版。我有一个以特定字符串开头的文件夹中有超过100个文件。我希望删除这个字符串。更改目录中所有文件的名称?

例如:abc_file1.txt,abc_file2.txt,abc_file3.txt等。我想改变 文件名来FILE1.TXT,FILE2.TXT,file3.txt等

但是,手工做这个东西要花很多时间。有没有更容易和更快的方法来实现这一点。

+2

https://www.howtogeek.com/111859/how-to-batch-rename-files-in-windows-4-ways-to-rename-multiple-files/ – perigon

+0

Thanks @ user55449,[Bulk Rename Utility](http://www.bulkrenameutility.co.uk/Main_Intro.php)是一个非常强大的工具。不仅删除字符串,我可以用它做很多东西。你能否写下你的评论作为答案,以便我可以接受它? –

+0

我从来没有使用它(甚至不使用Windows),所以我不认为我可以写出一个好的答案。不过,你可以编写并接受你自己的答案。 – perigon

回答

1

我被大家收到的回应所淹没。由于我没有扎实的编程背景,所以我寻找一种简单的方法,或者是一种可以为我做的自动化软件。

Bulk Rename Utility是一款出色的软件,它不仅可以删除字符串,而且还有很多东西需要我花几小时手动完成。

2

我在与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> 
0

您可以使用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() 
0

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,'') }" 
相关问题