求批处理,复制(移动)文件到他的上一层目录

来源:百度知道 编辑:UC知道 时间:2024/05/22 04:02:08
比如原来的目录为E:\xiaoshuo\xx\A\1.txt
E:\xiaoshuo\xx\A\2.txt
.....

目录"xx"为不固定名称,其他的文件夹为固定名称

如何写批处理让E:\xiaoshuo\目录下的所有.txt的文本文件,都复制或移动到上一层目录里,变为 E:\xiaoshuo\xx\1.txt
E:\xiaoshuo\xx\2.txt
.....

请教这个批处理该怎么写?谢谢
1楼可能还没理解我的意思,我说的xx目录都是不固定的,有几千个,你的这句E:\xiaoshuo\xx\XX,那个xx我怎么写啊~呵呵

批处理水平也很菜,想了很久,再问了问别人,最终还是要写四个批处理文件才行,你试试吧,应该可以,以测试过.
运行ok.bat即可
1.以下内容保存为ok.bat
call 1.bat
call 3.bat
2.以下内容保存为3.bat
del ywd.txt
del tiqudwd.txt
del lj.txt
exit
3.以下内容保存为2.bat
@echo off
for /f "tokens=1-5* delims=\" %%i in (ywd.txt) do call :pick-up "%%i" "%%j" "%%k" "%%l" "%%m" "%%n"
goto :eof
:pick-up
if %5=="" goto :eof
if not %6=="" goto :eof
set "var=%1\%2\%3\%4\%5"
echo %var:"=% >>tiqudwd.txt
goto :eof
4.以下内容保存为1.bat
@echo off
for /r e:\xiaoshuo %%a in (*.txt) do echo %%a >>ywd.txt
call 2.bat
for /f "tokens=1,2,3, delims=\" %%b in (tiqudwd.txt) do echo %%b\%%c\%%d >>lj.txt
setlocal enabledelayedexpansion
set skip=0
for /f %%i in (tiqudwd.txt) do (
set src=%%i
if !skip!