Windows

rename ‘y/AZ/az/’ * 不適用於 linux (wsl) 的 windows 子系統

  • October 26, 2019

當你這樣做時,它說文件已經存在。

範例輸出:

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,但您始終可以將前綴更改為其他內容。)

引用自:https://unix.stackexchange.com/questions/548789