从图像中可以看出,我的文件夹包含"。"在其中我想用" _"替换它们。使用CMD有一种方法可以做到这一点。
答案 0 :(得分:1)
cmd.exe
shell脚本是@echo off
以外的最糟糕的方法: - )
但是好的。
您可以使用增强的shell命令集替换变量中的字符:
set DUH=FBB
echo %DUH:B=O% -> FOO
因此,对于您的问题,您需要阅读所有文件夹并将其置于变量中,以便您可以替换.=_
然后重命名。
第一批:rena.cmd
遍历您的文件夹
@echo off
for /D %%i in ( *.* ) do call rena2.cmd %%i
第二批:rena2.cmd
处理重命名
@echo off
setlocal enableextensions
setlocal enabledelayedexpansion
set TONAME=%~1
move %1 "%TONAME:.=_%"
exit /B
这可以在一个脚本中完成,随意将它拼凑在一起,我不会: - )
答案 1 :(得分:1)
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET "sourcedir=U:\sourcedir\t w o"
FOR /f "delims=" %%a IN (
'dir /b /ad "%sourcedir%\*.*" '
) DO (
SET "dirname=%%a"
SET "dirname=!dirname:.=_!"
IF "!dirname!" neq "%%a" ECHO(REN "%sourcedir%\%%a" "!dirname!"
)
GOTO :EOF
您需要更改sourcedir
的设置以适合您的具体情况。
为了测试目的,所需的REN命令仅为ECHO
。 在您确认命令正确后,将ECHO(REN
更改为REN
以实际重命名文件。
Dimply执行目录列表,将.
更改为_
,如果进行了更改,请执行重命名。