[批次] 批次更改副檔名,但部分檔名以"點"開頭導致無法執行
想請問各位是否有碰過檔名開頭被加上"點"後
部分檔案可以批次更改副檔名,部分不行的問題呢
手邊要更名的檔案格式為
.123.ext 或 123.ext
其中123為檔案的數字編號,ext為要被替換掉的副檔名
目標是將其批次更名為
123.ext2
所以先寫了以下批次檔進行測試,單獨放入底層資料夾執行沒問題
=========================
@echo off
rename *.ext *.ext2
=========================
又因為檔案分散在多個且多層的資料夾下(各層資料夾都是數字編號)
所以就先簡單的用以下批次檔來處理
=========================
@echo off
dir /s ren *.ext *.ext2
dir /s ren *.* *.ext2
=========================
其中第二行ren是因為有些檔案的檔名開頭存在"."的時候會沒辦法辨識
若直接只跑 *.ext會改不到,多加了將所有檔案(*.*)都改掉
加了這行可以多處理掉一些,但還是會有一部分檔案會改不到
想請問各位這樣粗淺的處理是漏掉了什麼,或是否有較好的解決方式呢?
--
┌┐ ┌┐ ┌┐
└┘┌┐ ││ └┘
┌┐┌┬──┬┬┬┬┬┘└┬──┬┐┌┤│┌┬┐
│││├─ │ │├┐┌┤ ─┤│││└┘││
│└┘│┌┐│││││││└─┐││││┌┐┤│
└─┐│└┘││││││└┬─┘│└┘│││││
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.120.90.156
※ 文章網址: https://www.ptt.cc/bbs/EzHotKey/M.1482217610.A.EBD.html
推
12/21 00:22, , 1F
12/21 00:22, 1F
直接用 ren .* *.ext2 會跳 "命令語法不正確" XD
若改為 ren .*.ext *.ext2 則不會發生任何事
推
12/21 23:28, , 2F
12/21 23:28, 2F
改用 forfiles /s /C "cmd /c ren *.ext *.ext2" 後可以解決一部分
不過檔名前的 "." 還是會存在,一直找不到方法弄掉
雖然加了echo off還是會跳出一大串 "系統找不到指定的檔案。"
大概是改好名的資料夾裡面已經沒有 *.ext 的關係吧
還有不知道是否因為檔案過多,仍有部分子資料夾內的沒有掃到也沒改到
看來只能先降一層,從第一層的每個資料夾個別跑了(目前唯一解)
※ 編輯: yamitsuki (140.120.90.156), 12/24/2016 00:43:24
→
12/24 00:44, , 3F
12/24 00:44, 3F
※ 編輯: yamitsuki (140.120.90.156), 12/24/2016 00:49:13
推
12/24 17:07, , 4F
12/24 17:07, 4F
→
12/24 17:07, , 5F
12/24 17:07, 5F
推
12/24 21:42, , 6F
12/24 21:42, 6F
→
12/25 01:20, , 7F
12/25 01:20, 7F
→
12/25 01:21, , 8F
12/25 01:21, 8F
→
12/25 01:22, , 9F
12/25 01:22, 9F
→
12/25 01:34, , 10F
12/25 01:34, 10F
推
12/25 10:30, , 11F
12/25 10:30, 11F
EzHotKey 近期熱門文章
PTT數位生活區 即時熱門文章