Board logo

主題: [心情日記] 上傳空間真囉唆 [打印本頁]

發表人: geo    時間: 2025-6-8 11:32 PM     主題: 上傳空間真囉唆

是這樣的,網路上傳空間,拒絕檔案名不能以空格開頭或結尾、結尾不能是句點,包括"_vti_"、"_vti_rb"、磁碟作業系統 名稱,或包含下列任一字元:\<: * " ? |。


不曉得有人會用指令集快速刪掉不要的字元嗎?






[geo 在  2025-6-8 11:34 PM 作了最後編輯]
發表人: 流水無情    時間: 2025-6-9 01:29 AM

網路找 KoyRenamer,應該可以。
發表人: Observer    時間: 2025-6-9 09:25 AM

MyRename 好用
Renamer 也不錯
看場景,我通常會先用前者,無法解決再用後者。
發表人: AGC    時間: 2025-6-10 09:43 AM

?用全形就行, 空格用UTF8 URL方式, %20 來用
發表人: alonewalker    時間: 2025-6-10 03:07 PM

現在我都用chatgpt 請它幫我寫程式碼
譬如我會下這樣的指令
我有一些檔案,名稱有一些我想修改刪除的部分,例如:結尾不能是句點,包括"_vti_"、"_vti_rb"、磁碟作業系統 名稱,或包含下列任一字元:\<: * " ? |。
請幫我寫成指令集*.bat的程式碼
-----------------------------
它的回應是

以下是一個 .bat 批次檔腳本,可以幫你達成以下目標:

✅ 功能說明:
掃描目前資料夾下的所有檔案(不含子資料夾)
將檔案名稱中不合法的字元移除: \ / : * ? " < > |
移除檔名結尾的句點(.)
移除檔名中包含的特殊關鍵字: _vti_, _vti_rb, 磁碟作業系統 名稱

以下是程式碼
-------------------------------
@echo off
setlocal enabledelayedexpansion

echo 正在處理檔案名稱清理...

:: 針對目前資料夾中的所有檔案進行處理
for %%F in (*.*) do (
    set "filename=%%~nF"
    set "ext=%%~xF"

    :: 移除非法字元 \ / : * ? " < > |
    set "filename=!filename:\=!"
    set "filename=!filename:/=!"
    set "filename=!filename::=!"
    set "filename=!filename:*==!"
    set "filename=!filename:?=!"
    set "filename=!filename:"=!"
    set "filename=!filename:<==!"
    set "filename=!filename:>==!"
    set "filename=!filename:|=!"

    :: 移除結尾的句點(.)
    :remove_dot
    if "!filename:~-1!"=="." (
        set "filename=!filename:~0,-1!"
        goto remove_dot
    )

    :: 移除關鍵字
    set "filename=!filename:_vti_=!"
    set "filename=!filename:_vti_rb=!"
    set "filename=!filename:磁碟作業系統 名稱=!"

    :: 重新命名檔案(若有變更)
    if not "!filename!!ext!"=="%%~nxF" (
        echo 重新命名: "%%~nxF" → "!filename!!ext!"
        ren "%%~nxF" "!filename!!ext!"
    )
)

echo 處理完成。
pause

------------------------------------
你也可以要它改成拖曳資料夾版本
推薦你試試




歡迎光臨 TWed2k (http://twed2k.org/) Powered by Discuz! 4.1.0