
批处理,如何将一个文件夹中所有文件分批移动到指定文件夹中即时新建的子文件夹中?(每批新建一个)
我有一个文件夹里有十多万张图片,浏览起来很费力。想分存到数个文件夹中。于是自己搞了这么一段DOS批处理。但实际却不能使用。哪位大侠给改下?:@echooffsetaaa=...
我有一个文件夹里有十多万张图片,浏览起来很费力。想分存到数个文件夹中。
于是自己搞了这么一段DOS批处理。但实际却不能使用。哪位大侠给改下?
:
@echo off
set aaa= G:\AAA
set ttt= G:\BBB
set /a newFolderName = Pic
set /a num = 9
set /a newFolderNum = 1
@echo 处理中,请等待...
echo %aaa%
echo %ttt%
echo %newFolderName%
echo %num%
echo %newFolderNum%
dir /s /b "%aaa%\*.*" > 1.tmp
setlocal enabledelayedexpansion
for /f "eol=| delims=|" %%i in (1.tmp) do (
set /a num+=1
if "%num%"=="10" (
MD "%ttt%\%newFolderName%!%newFolderNum%"
set /a newFolderNum += 1
set /a num = 0
) else (
move /-y "%%i" "%ttt%\%newFolderName%!%newFolderNum%\*.*"
)
)
del 1.tmp
@echo 移动完毕 展开
于是自己搞了这么一段DOS批处理。但实际却不能使用。哪位大侠给改下?
:
@echo off
set aaa= G:\AAA
set ttt= G:\BBB
set /a newFolderName = Pic
set /a num = 9
set /a newFolderNum = 1
@echo 处理中,请等待...
echo %aaa%
echo %ttt%
echo %newFolderName%
echo %num%
echo %newFolderNum%
dir /s /b "%aaa%\*.*" > 1.tmp
setlocal enabledelayedexpansion
for /f "eol=| delims=|" %%i in (1.tmp) do (
set /a num+=1
if "%num%"=="10" (
MD "%ttt%\%newFolderName%!%newFolderNum%"
set /a newFolderNum += 1
set /a num = 0
) else (
move /-y "%%i" "%ttt%\%newFolderName%!%newFolderNum%\*.*"
)
)
del 1.tmp
@echo 移动完毕 展开
展开全部
1、10万多张图分成多少批?
@echo off&SetLocal EnableDelayedExpansion
Set /a m=1,n=0
For /r %%i in (*.*) do (
md !m! 2>nul
Set /a n+=1
Set /a y=!n!%%100
move /y "%%i" "!m!"
if !y!==0 Set /a m+=1
)
pause
::分成1000多批,每批100个图。
@echo off&SetLocal EnableDelayedExpansion
Set /a m=1,n=0
For /r %%i in (*.*) do (
md !m! 2>nul
Set /a n+=1
Set /a y=!n!%%100
move /y "%%i" "!m!"
if !y!==0 Set /a m+=1
)
pause
::分成1000多批,每批100个图。
展开全部
@echo off
set aaa= G:\AAA
set ttt= G:\BBB
set /a newFolderName = Pic
set /a num = 9
set /a newFolderNum = 1
@echo 处理中,请等待...
echo %aaa%
echo %ttt%
echo %newFolderName%
echo %num%
echo %newFolderNum%
setlocal enabledelayedexpansion
for /l %%i in (0,1,9) do md "%ttt%\%newFolderName%%%i"
for /f "tokens=*" %%i in ('dir/s/b') do (
set /a num+=1
set /a newFolderNum=!num!%%10
move /-y "%%i" "%ttt%\%newFolderName%!newFolderNum!\*.*"
)
@echo 移动完毕
set aaa= G:\AAA
set ttt= G:\BBB
set /a newFolderName = Pic
set /a num = 9
set /a newFolderNum = 1
@echo 处理中,请等待...
echo %aaa%
echo %ttt%
echo %newFolderName%
echo %num%
echo %newFolderNum%
setlocal enabledelayedexpansion
for /l %%i in (0,1,9) do md "%ttt%\%newFolderName%%%i"
for /f "tokens=*" %%i in ('dir/s/b') do (
set /a num+=1
set /a newFolderNum=!num!%%10
move /-y "%%i" "%ttt%\%newFolderName%!newFolderNum!\*.*"
)
@echo 移动完毕
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议 你学 au3 自动化脚本
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询