将所有文件重命名为小写,替换空格

时间:2010-09-03 00:36:45

标签: windows cmd rename

在Windows命令提示符下,如何将所有文件重命名为小写并删除所有空格?

3 个答案:

答案 0 :(得分:3)

制作批处理文件

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in ( ' dir /b /a-d *.* ') do (
set name="%%i"
set newname=!name: =!
rename "%%i" !newname!
)

注意:在测试目录下运行,看看是否有预期的结果。我还没有测试过。

编辑:忘了说这只会删除空格。

答案 1 :(得分:1)

我使用此批处理文件将所有文件夹和子文件夹重命名为小写名称:

@ECHO OFF
CALL:GETDIRS

:GETDIRS
FOR /F "delims=" %%s IN ('DIR /B /L /AD') DO (
    RENAME "%%s" "%%s"
    CD "%%s"
    CALL:GETDIRS
    CD ..
)
GOTO:EOF

答案 2 :(得分:0)

制作“小写”和“删除空格”的窍门...

在给定的解决方案的'dir'语句中,也使用“ / l”

  

dir中的/ L语句强制将文件名小写   结果。

作为“ Windows-RENAME”命令,如果使用“相同”文件名,则会记录从大写到小写的转换。

ren XPTO.TXT xpto.txt

结果将始终为:XPTO.TXT

要“绕过”这一点,我们使用临时技术: 将旧的移动到临时,然后->将临时的移动到新

那么解决方案将是:

@echo off
if exist temporaryfilenametorename del temporaryfilenametorename /f/q
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir *.csv /l /b /a-d') do (
set name="%%i"
set newname=!name: =!
rename "%%i" temporaryfilenametorename
rename temporaryfilenametorename !newname!
)