求批处理一个,关于文件移动

来源:百度知道 编辑:UC知道 时间:2024/06/23 01:55:34
文件目录示例如下,不只3个。

├— 一级目录实例
│ └— 二级目录dada
│ └— 45613.txt

├— 一级目录实例33
│ └— 二级目录4fds
│ └— 765131.txt

└— 一级目录实例77
└— 二级目录451
└— 7654.txt

要求:
将TXT文件移动到上一级目录
再将二级目录(也就是TXT文件原来所在的目录)删除。
补充一下要求:
将TXT文件名改为上一级目录的名字
将TXT文件移动到上一级目录
再将二级目录(也就是TXT文件原来所在的目录)删除。

试了“红色代码”,把文件给误删了。
可不可以加个开关,要是移动文件不成功就不删除文件夹。

误删??二级目录还有其他文件??
通常移动不成功的,对应文件夹也无法删除的,但既然你提出了(有多种方法).....
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set var=0
for /d %%i in (*) do (
cd %%i
for /d %%j in (*) do (
cd %%j
for %%k in (*.txt) do (
ren "%%k" "%%j.txt"
)
move "%%j.txt" ..\ || set var=1
cd..
if not !var!==1 rd /q "%%j"
set var=0
)
cd..
)
pause
不想解释了...主要就是三个嵌套循环
试了下,一切正常...前提是二级目录下只有一个.txt文件,要不就会重名了(这也是你要求的),因为rd没加参数s所以,即使二级目录有其他文件也不会误删了,会提示目录非空