DOS下如何重命名有空格的文件名
发布网友
发布时间:2022-04-29 18:57
我来回答
共5个回答
热心网友
时间:2022-06-20 02:01
把他的要求分解成两部分
1、先用dir命令把所有要进行重命名的文件的全路径列出来发送到一个临时的文本文件。
(供下面的for语句来读取)
2、用for命令来读取那个由dir命令生成的列表文件
a、在循环的过程中取得上级文件夹名
b、取得文件名
c、ren "源文件名" "上级文件夹名文件名"
上面就是伪代码,接下来是批处理的实现代码
@echo offrem 生成临时列表文件
dir d:\*.txt /s /a-d /b>>tmp.txtrem 用for命令来读取那个由dir命令生成的列表文件
FOR /F "tokens=*" %%a IN (
'more tmp.txt'
) DO (
rem 用Setlocal来启用环境变量延迟功能
Setlocal EnableDelayedExpansionrem 取得路径包括了最后一个斜线\
set tempPath=%%~dparem 把路径中的最后一个斜线去掉
set tempPath=!tempPath:~,-1!rem 在for命令中来扩展取得路径名
FOR %%A IN (
"!tempPath!"
) DO (
rem 扩展取得上级目录名
set filePath=%%~nA
rem 新的文件名为: 上级目录名文件名
set new_name=!filePath!%%~nxa
rem 重命名文件名(为了安全,这里只是用echo把命名的
rem 语句显示出来)
rem 如果要进行重命名的话,把echo 去掉就可以了
echo ren "%%a" "!new_name!"
)
ENDLOCAL
)
rem 删除临时文件
del tmp.txt /q 1>nul 2>nul
pause
热心网友
时间:2022-06-20 02:02
1、先用dir命令把所有要进行重命名的文件的全路径列出来发送到一个临时的文本文件。
(供下面的for语句来读取)
2、用for命令来读取那个由dir命令生成的列表文件
a、在循环的过程中取得上级文件夹名
b、取得文件名
c、ren "源文件名" "上级文件夹名文件名"
热心网友
时间:2022-06-20 02:02
把每个文件夹的名字用“文件 夹” 就可以了
热心网友
时间:2022-06-20 02:03
帮新建文件夹 (2)加个双引号就行了,如:ren "新建文件夹 (2)" 新建文件夹(2)。这样就搞定了。。。。。
热心网友
时间:2022-06-20 02:03
纯dos下是没有带空格的文件的。在windows下有空格的文件,在纯DOS下会显示为其他的
在CMD下可以用:ren "文 空格 件名1" "文件名2"
用双引号扩起来就可以了