1. 程式人生 > 其它 >去除檔名中相同的部分

去除檔名中相同的部分

一晃一年都沒寫部落格了,又是庸庸碌碌的過去了一年,最近開始研究大資料方向,下了很多視訊,然後發現檔名後面都帶有連結,讓我這樣的強迫症患者很不舒服,然後網上百度了一下,寫了一個bat指令碼,結果只能去除檔案開頭的相同內容。
參考的bat指令碼

@echo off& setlocal enabledelayedexpansion

for /f "delims=" %%1 in ('dir /a /b') do (set wind=%%1

ren "%%~1" "!wind:文件=!")

還有的讓我去下載一個bulk rename utility的工具去處理,想了一下,實在不想下載,也不是很複雜,就自己寫一個吧,貼一下我寫的指令碼,很簡單,只是證明我還活著,還是會繼續寫部落格,有的時候研究都是皮毛,而且很雜,都不知道如何分享,所以導致我很久沒有寫部落格了。

import os
import sys

def TravDirectory(containContent): 
    for dirpath, _, filenames in os.walk("./"):
        for file in filenames:
            filename, extension = os.path.splitext(file)
            if containContent in filename:
                filename = filename.replace(containContent, "").strip()
                os.rename(os.path.join(dirpath, file), os.path.join(dirpath, filename+extension))

if __name__ == "__main__":
    try:
        delContent = sys.argv[1]
    except:
        print("請輸入你要去除的內容")
        os.system("pause")
    TravDirectory(delContent

指令碼執行也很簡單,將內容複製到本地,然後建立一個檔案儲存指令碼內容,如果你要處理的檔案是多個目錄,就放在這多個目錄的父目錄中,如果只是一個目錄的話,就放同級目錄下就好,然後執行

python 指令碼名 要刪除的內容

如果要刪除的內容包含空格,記得用引號括起來,防止有些跟我一樣懶的人,複製都不想複製,或者本地沒有python環境,這裡我再分享一個我通過pyinstaller打出來的exe以供執行。說到pyinstaller打包,上次在CSDN上看到一個付費的部落格,寫的很好,有機會整理整理,結合我的收穫分享給大家。

連結:https://pan.baidu.com/s/1fpLGnRpZyEvLcQkc5lRhvA


提取碼:0nu0

exe也不能直接雙擊執行哦,因為需要輸入要去除的內容,所以還是得在cmd上執行,類似如下,因為實在很懶,不想寫gui