Re: [請問] 有快速交換兩個檔案的檔名的軟體嗎?

看板EZsoft (小軟體)作者 (海邊的野孩子)時間15年前 (2010/12/16 01:00), 編輯推噓5(506)
留言11則, 6人參與, 最新討論串2/3 (看更多)
※ 引述《allen65535 (劇情急轉直下)》之銘言: : 因為系統不允許同一資料夾內有兩個檔案的檔名相同 : 所以我要把A、B兩個檔案的檔名互換時 : 要先把A改成C,再把B改成A,最後再把C改成B : 我需要做大量交換檔名的事情,所以這樣很麻煩 : 有沒有軟體可以讓我點選兩個檔名 : 然後按一個鍵就完成檔名互換,或是把這個功能加到滑鼠右鍵選單也可以接受 : 先感謝回答~ 在檔案上按滑鼠右鍵, 會有一個子選單SendTo, 中文版的話是"傳送到..." 把應用程式或是其捷徑放在sendto目錄以後, 就會出現在上面這個子選單裡面 點選後就會執行那個程式, 並把所有選取的檔案檔名做為程式的參數. 你可以把以下虛線內的內容存成批次檔, 比如 swap_file_name.bat, 放在sendto目錄, 這樣可以勉強達到你要的功能. -------------------------------------------- @echo off if "%1" == "" echo No argument & goto error if "%2" == "" echo No 2nd argument & goto error if not "%3" == "" echo More than 2 arguments & goto error if not exist "%1" echo File "%1" does not exist & goto error if not exist "%2" echo File "%2" does not exist & goto error if exist "%2.tmp" echo Temp file "%2.tmp" exists & goto error move /-Y "%1" "%2.tmp" move /-Y "%2" "%1" move /-Y "%2.tmp" "%2" goto end :error pause :end -------------------------------------------- 至於怎麼找sendto目錄, 請用sendto當關鍵字google一下. 不同版本的windows可能不一樣, 我就不說明了. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.74.153

12/16 01:27, , 1F
強!
12/16 01:27, 1F

12/16 15:43, , 2F
感謝!
12/16 15:43, 2F

12/17 00:18, , 3F
我的環境不知為何好像需要的語法不太一樣 我補充一下吧
12/17 00:18, 3F

12/17 00:18, , 4F
if not exist "%~1" echo File "%~1" does not exist
12/17 00:18, 4F

12/17 00:19, , 5F
↑if 開頭的要把變數改成這樣,加個~
12/17 00:19, 5F

12/17 00:20, , 6F
move /-Y %1 %2.tmp ←move 開頭的要把變數引號拿掉
12/17 00:20, 6F

12/17 00:22, , 7F
我是XP系統,其實我也搞不懂為何,我這樣改之後才能用
12/17 00:22, 7F

12/17 00:32, , 8F
12/17 00:32, 8F

12/17 13:56, , 9F
12/17 13:56, 9F

12/17 17:04, , 10F
其實win改名可以直接用ren,不需要move
12/17 17:04, 10F

12/18 01:09, , 11F
ren的target name不能包含路徑,但用sendto都會有路徑.
12/18 01:09, 11F
文章代碼(AID): #1D2FHAeu (EZsoft)
文章代碼(AID): #1D2FHAeu (EZsoft)