删除Windows文件名中的前导空格

时间:2018-12-26 23:32:44

标签: batch-file

我有一个Windows文件夹,其中包含许多子文件夹和文件。我注意到有数百个文件的名称以空格开头,因此不会复制到云存储库(OneDrive)。我可以运行Windows命令或批处理文件吗,该命令或批处理文件将搜索文件夹及其子文件夹中以空格开头的所有文件名,然后删除该空格?

2 个答案:

答案 0 :(得分:1)

批处理文件的方法如下:

@echo off
for /R %%A IN (" *") do (
    for /F "tokens=*" %%B IN ("%~nxA") do (
        ren "%%A" "%%B"
    )
)
  • 我们使用/R选项遍历所有子文件夹。
  • 我们要查找所有以空格开头的文件,因此我们在括号((" *"))中进行指定。
    • 对于找到的每个文件,我们都在其名称中循环使用tokens=*,这意味着删除前面的所有空格。
    • 所以,在那之后我们得到了:
      %%A =的完整路径,文件的开头带有空格
      %%B =仅文件名不带空格
      • 因此,我们使用ren命令重命名它们。
    • (closing parenthesis)
  • (closing parenthesis)

这也可以从命令行在一行中运行:

for /R %A IN (" *") do @for /F "tokens=*" %B IN ("%~nxA") do @ren "%A" "%B"

答案 1 :(得分:0)

您可以在PowerShell中运行以下命令,更新路径变量以指向您的文件夹。

$path = # Path to folder
$files = Get-ChildItem -Path $path -Recurse 
Foreach($file in $files)
{
    Rename-Item -Path $file.FullName -NewName ($file.Name).Trim()
}