比如說我有三個文件:

1.txt2.txt3.txt有沒有什麼辦法可以把所有的文件名換成文件夾裏另一個文件名,而且不重複?

比如把1.txt換成2,2換成3,3換成1


Total Commander是可以做到的,但不太理想。

下載、安裝TC後轉到相應文件夾,選中需要改名的所有文件後,此時得分情況操作。

一、假設重命名規則就是你舉例的樣子(文件名就是1、2、3),那麼操作是這樣的:

  1. Ctrl+M喚出重命名工具
  2. 「重命名規則:文件名」那個輸入框,默認是填寫了[N]。現在我們刪除這個[N],輸入[C]
  3. 在下方的文件名列表用滑鼠來調整位置,把「3.txt」拖到最前端——此時,新文件名已經改變
  4. 按確定。完成。
  5. 其實把5調到4前面,TC會報錯說不能重命名。但僅僅如你的要求那樣,將3調最前,倒是可以順利重命名

二、假設你的文件名並不是1、2、3這麼簡單,那麼操作是這樣的:

  1. 從TC菜單中選擇「複製文件名」——於是,你要改名的那幾個文件,名稱已經在系統剪切板了
  2. Ctrl+M喚出重命名工具
  3. 「重命名規則:文件名」那個輸入框,默認是填寫了[N]。這個位置不用改動
  4. 在下方的文件名列表用滑鼠來調整位置,把第三個文件拖到最前端——此時,新文件名和舊文件名是一樣的,並沒有變化
  5. 在重命名工具偏右方找到「編輯名稱」,(默認)會彈出記事本,而出現的文件以重新排序後的新順序呈現
  6. 全選,黏貼——在第一步,剪切板中已經有排序前排列的文件名了
  7. 按確定。完成。
  8. 如果前一步提示改名不成功,多半是文件名重複,此時隨便加個前綴後綴,重命名成功後再去個別修改。


這是我的回答

文件名如何進行批量更改? - 知乎 https://www.zhihu.com/question/266365274


這種事Excel不就可以輕鬆搞定的麼?

第一步:取得文件名列表

dir &> emplist.txt

第二步:讀入整理文件名列表

(手頭的excel是日語版的,湊合看吧)

讀入

定長分割

切邊

整理好了就像這樣

第三步:製作命令列表

行插入列插入

把文件名錯位粘貼一下,最後像這樣

最後找個記事本複製粘貼一下,改成bat文件就可以了

但這樣其實是有問題的,因為ren 1.txt 2.txt的時候2.txt還存在,會導致命令失敗。

這裡有兩個辦法解決這個問題:

  1. 把3.txt先改成其他的名字,然後把執行順序倒過來。2改3,1改2,最後再把3改1

2. 把ren換成copy,然後複製到一個新的文件夾

後者更可靠,適合生產環境。當然文件多的時候會非常慢,且大量佔用空間。

我們這裡就用速度快的方案1吧。

第四部:調製順序

找一個不用的列作為輔助列,輸入1,2,然後拖動到頭

然後用輔助列逆向排序一下,並最終調整

最後把做好的bat文件拿到目標文件夾裏執行一下不就OK了嗎?

當然記得把11.txt改成1.txt。


看起來步驟挺多,Excel用熟了很快的,實際操作3分鐘足矣。

神馬?不會用Excel?嘖嘖嘖,少年還是儘快熟悉一下吧,日後不管是工作還是學習,Office的三大件肯定是要經常用的。

雖然一些第三方工具比如Total Commender也可以做到,但Excel還是要靈活一些。而且第三方工具也有風險,額外要錢不說,軟體本身允不允許你在生產環境中用也是個很難說的事。

最後,要不考慮皈依我們大企鵝神教?這種操作在Linux下完全不叫事。


按住shift點文件夾空白處打開powershell窗口,輸入dir | ren -newname{$_.name.split(".")[0]}


見回答中有用ren 命令完成替換的,我覺得不安全。建議用copy 命令,copy 1.txt
ewfiles2.txt,copy 2.txt
ewfiles3.txt copy 3.txt
ewfiles1.txt。

如果只是3個文件這些命令就夠了。如果文件更多,建議寫在.bat裏,一次性運行完成。注意前提是newfiles是個文件夾,要提前建好。

獲取文件名的方式多種,在EXCEL中加工命令行很方便。


保證你的文件夾內的文件名始終是唯一的就可以


mv file1 file2


推薦閱讀:
相關文章