如何不改變檔案原始名字的前提下批量新增檔名字首?

時間 2021-07-04 03:24:39

1樓:摩擦起電

下面的建議,我也清楚答主不一定能用得上。但是萬一呢,而且說到批量和文字處理的話應該沒什麼比字元介面更簡潔高效的了。所以我還是決定寫一下。

如果會bash的話,可以用awk。,直接用xargs也能辦到而且會更好一點,只是理解起來沒有awk的簡單。

都是先 cd 到那個資料夾。

awk思路:

ls | awk ''

執行一下看看是不是你想要改成的檔名結果,是的話繼續執行下面的命令

ls | awk ''

執行一下,看看改名命令對不對,對的話就直接在後面加上個 |bash 然後執行就行了:

ls | awk '' | bash

思路就是,拼接好命令,列印出來看看靠不靠譜,靠譜就都送給直譯器讓它自己執行去。其實就是,根據資料的具體情況動態地生成命令,檢查命令沒問題後就動態生成並執行,這樣乙個思路。

xargs:

ls | xargs -i echo 'mv "" "古風 "'

或者更嚴謹一點應該是這樣:

ls | xargs -i echo 'mv '"'""'"' '"'"'古風 '"'"

這個比較容易寫出錯,不過我是把每一塊都分開了,方便後面萬一想把誰換成變數。而且雙引號換成了單引號,不過只要你檔名裡沒有奇怪字元那就沒差的。嗯,應該不會有吧。

執行看列印出來的東西,沒問題,就可以把 echo 換成 bash -c 了。

xargs還支援輕鬆實現併發效果,那就是加上 -P 引數。舉個例子:

ls | xargs -P0 -i bash -c 'mv "" "古風 "'

-P 後面的數字就是指定乙個併發度。併發的話,xargs會生成被它管理的多個子程序同時執行你拼好了的命令。這個也比自己弄後台程序安全不少。

示例數字我寫了個0,這時候被指定的併發度會跟你的CPU核心數量一樣。一般做成指令碼,就是這個位置要麼是1相當於完全序列執行,要麼是0動態匹配機器的核心數。

上述倆方法共同點在於,都有「拼接命令」的操作。我覺得這應該就是對 unix shell 設計原則的活用吧:一切皆文字流,包括能夠控制文字流的命令本身。

如果不能這樣用,而是到處都是共享的可變資料的話, unix shell 當然也就盡是 hell 了

怎麼在windows用bash?可以安乙個wsl。

或者安乙個 msys2 也行,有了它你甚至相當於有了半個windows上的命令行包管理器。

(碎碎念:winget啥時候正式上線啊,現在不敢亂用啊。。。)

當然,有一點我是支援的,那就是,如果會寫 powershell 的話,論優雅當然遠遠比 bash 優雅的。我給出 bash 的方案也只是因為我會,能隨手寫,知道點兒加快速度的方案(併發),然後也就僅此而已了。ps玩過,說巧不巧還是在Linux桌面上玩上癮的,不過後來也沒多碰,很多東西也沒太弄懂是咋回事,而且平時真的很少有機會用到……

2樓:defisym

你好,這個問題建議使用微軟推出的PowerToys工具集中的PowerRename小工具來處理,具體使用方法可參見其幫助文件中「正規表示式」一節,批量在檔名前新增字首是範例之一:

適用於 Windows 10 的 PowerToys PowerRename 實用工具

除PowerRename外,PowerToys裡還提供了PowerToys Run(類似macOS的Spotlight搜尋)、Fancy Zone(允許使用者自定義視窗排列規則)、顏色選取器等實用功能,詳情可參考微軟的說明文件:

Microsoft PowerToys

示波器如何不更改取樣率的前提下,更改時基?

請對自己使用的儀器多一些了解,就不會有這樣問題了 數字儲存示波器,先把訊號採集下來,儲存在內部的儲存器裡面,再顯示出來。有儲存的過程,必然就會有儲存空間的限制,所以數字儲存示波器有乙個指標叫做儲存深度,即示波器能存下來的最大的取樣點數。數字儲存示波器乙個經典的公式 更改時基就是在更改取樣時間,因為示...

銳志2 5V在不改動力的前提下,可以改19寸輪轂嗎?動力是否會下降很明顯?另外,需不需要更換避震?謝謝 ?

Jax Yang 19寸當然沒問題,但是換上大輪轂不改避震的話車身會很不協調,會讓車子感覺變成了高腳七。個人認為 並不專業,本人只是改裝圈裡的好學者 換輪轂的直徑不會影響動力,但是寬窄會影響動力,更寬的輪胎給你提供更大的抓地力和平衡力,但是與地面接觸面積越大意味著更大的摩擦力,所以會有一定量的動力流...

努力練習的前提下如何有效提高滑板技巧?

生在狹縫 學滑板技巧 1 移動重心的練習,原地站立與踏步 穿好輪滑鞋,兩腳平行站立與肩同寬,兩腿微屈,上體稍前傾,兩臂自然下垂。身重心移至左腿右腿稍抬起 放下。然後身重心移至右腿,左腿稍抬起 放下。反覆進行練習,逐漸加快速度。2 直道滑行,單腳蹬地雙腳滑行練習 右腳用內刃蹬地,將重心推送至向前滑行的...