更改文件名开头的白色-space

Changing white-space on the beginning of a file name

我们随机命名了正在上传到 Google Drive 文件夹的 pdf 文档。上传这些文件时,有时文件名前面会有一个space,例如。 “ 12345.pdf”。我想用批处理文件删除文件名前面的这个白色space

如果前导 spaces 的数量是恒定的,那么实际上有一个简单的衬里只使用 REN 将删除前导 space(s)!

如果你正好有一个前导space,那么你可以使用

ren " *" "/*"

如果前导两个space,则

ren "  *" "//*"

等等...

此行为在 https://superuser.com/q/475874/109090 中进行了描述。不过要小心。有一次我以为我看到如果前导字符是 space,则单个 / 可以去除多个前导字符。但我无法重现此行为。现在我得到的是 "expected" 行为,即 / 恰好去除了一个主角。

如果前导 space 的数量不同,那么您可以使用以下方法安全地删除所有前导 space(假设结果没有名称冲突)。

for %A in (" *") do @for /f "tokens=*" %B in ("%A") do @ren "%A" "%B"

如果将代码放在批处理脚本中,请不要忘记将百分比加倍。