用于从文件名中删除空格的Windows脚本

时间:2011-05-22 10:42:24

标签: windows batch-file

我编写了一个清除空格并将其写入控制台的脚本,但实际上对文件名没有任何作用 -

@echo off&setlocal EnableDelayedExpansion
for /f "tokens=*" %%A in (
'dir C:\Inetpub\ftproot\MG_REPORTS\MG_PRO_\Network\Frank\ "* *"'
) do (set XX=%%~nxA)&echo ren "%%A"  "!XX: =!"

的问候,

shamie

1 个答案:

答案 0 :(得分:3)

您的for循环仅将XX设置为遇到的最后一个文件名。它也可能遍历给定目录中的所有文件以及当前工作目录中包含空格的所有文件名。

我会按照以下方式进行:

setlocal enabledelayedexpansion
for %%f in (C:\Inetpub\ftproot\MG_REPORTS\MG_PRO_\Network\Frank\*) do (
   set "FN=%%~nxf"
   set "FN=!FN: =!"
   ren "%%f" "!FN!"
)