Windows
rename ‘y/AZ/az/’ * 不適用於 linux (wsl) 的 windows 子系統
當你這樣做時,它說文件已經存在。
範例輸出:
rename 'y/A-Z/a-z/' *
Totemic-1.12.2-0.11.6.jar not renamed: totemic-1.12.2-0.11.6.jar already exists TreeChoppin-1.12.2-1.0.0.jar not renamed: treechoppin-1.12.2-1.0.0.jar already exists UniDict-1.12.2-2.9.3.jar not renamed: unidict-1.12.2-2.9.3.jar already exists VanillaFix-1.0.10-99.jar not renamed: vanillafix-1.0.10-99.jar already exists WailaHarvestability-mc1.12-1.1.12.jar not renamed: wailaharvestability-mc1.12-1.1.12.jar already exists WanionLib-1.12.2-2.4.jar not renamed: wanionlib-1.12.2-2.4.jar already exists
如何使用 wsl 進行這項工作?它在我的 Ubuntu 系統上完美執行。
我假設這與不區分大小寫的文件名有關,因此如果
rename
檢查目標文件是否存在,它會看到原始文件並停止以避免破壞它。我係統上的 Perl 重命名有這個選項,看起來它可以在這里工作:
-f, -force Over write: allow existing files to be over-written.
即使這不起作用,您也應該能夠將文件重命名為不僅僅是更改大小寫的名稱。例如
x
,在更改大小寫時在開頭添加一個,然後將其刪除x
:rename 'y/A-Z/a-z/; s/^/x/' * rename 's/^x//' *
foo
(當然,如果您有名為and的文件,這將不起作用xfoo
,但您始終可以將前綴更改為其他內容。)