如何用bat批处理移动文件夹下所有内容至上一层? 200
比如我有个图一一样的文件夹语文下面有语文1,语文2和语文3,它们三个下面又有别的子文件夹和文件。现在我要把它们三个下面的所有内容移动到上一层,直接从属于语文文件夹,然后删...
比如我有个图一一样的文件夹语文下面有语文1,语文2和语文3,它们三个下面又有别的子文件夹和文件。现在我要把它们三个下面的所有内容移动到上一层,直接从属于语文文件夹,然后删掉它们三个。就像图二一样。怎么做到?注意,实际情况子文件夹的名字并不是有规律的。
展开
2个回答
展开全部
不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的一级文件夹放一起运行
@echo off
rem 将二级文件夹里的文件和文件夹移动到上级目录下(上移一级)
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
for /f "delims=" %%a in ('dir /ad/b') do (
for /f "delims=" %%b in ('dir /ad/b "%%a\" 2^>nul') do (
for /f "delims=" %%c in ('dir /b "%%a\%%~nxb\" 2^>nul') do (
if not exist "%%a\%%~nxc" (
echo;"%%a\%%~nxb\%%~nxc" --^> "%%a\%%~nxc"
move "%%a\%%~nxb\%%~nxc" "%%a\%%~nxc"
)
)
rd "%%a\%%~nxb\" 2>nul
)
)
echo;%#% +%$%%$%/%@% %z%
pause
exit
@echo off
rem 将二级文件夹里的文件和文件夹移动到上级目录下(上移一级)
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
for /f "delims=" %%a in ('dir /ad/b') do (
for /f "delims=" %%b in ('dir /ad/b "%%a\" 2^>nul') do (
for /f "delims=" %%c in ('dir /b "%%a\%%~nxb\" 2^>nul') do (
if not exist "%%a\%%~nxc" (
echo;"%%a\%%~nxb\%%~nxc" --^> "%%a\%%~nxc"
move "%%a\%%~nxb\%%~nxc" "%%a\%%~nxc"
)
)
rd "%%a\%%~nxb\" 2>nul
)
)
echo;%#% +%$%%$%/%@% %z%
pause
exit
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |