【发布时间】:2015-05-07 18:19:31
【问题描述】:
我卡住了,已经尝试了我能想到的所有方法,但没有运气。已阅读有关 usebackq 的信息,但无法使其正常工作。
我正在尝试创建一个批处理文件。应该检查 folder1 是否存在。如果确实存在,则批处理文件应该在文件夹 1 中创建名为 Batch_1 Batch_2 的文件夹。将 folder1 中的所有文件移动到 Batch_1,然后将文件从某个位置移动到 batch_2。
如果batch_2 存在,它会创建Batch_3,然后将文件从某个地方移动到batch_3。以此类推。
这是我目前所拥有的。当路径中没有空格时,它就像一个魅力......
@echo off &setlocal
set fullDest="C:\Users\Peppes Bodega\Desktop\hej hej\123"
set fullDest=%fullDest:"=%
if exist "%fullDest%" goto:omg2
echo %fullDest%
:omg1
echo normal flytt syntax
pause
goto:eof
:omg2
if exist %fullDest%\Batch_2 goto:omg3
for /d %%i in (%fullDest%) do (
pushd %%i\
set /a count=0
for /d %%j in (*.*) do set /a count+=1
popd
call echo %%count%% folder(s^) in %%i
call mkdir %fullDest%\Batch_%%count%%
call MOVE C:\Users\%username%\Desktop\_BP_TEMP\*.txt %fullDest%\Batch_%%count%%
pushd %%i\
set /a count=0
for /d %%j in (*.*) do set /a count+=1
popd
call mkdir %fullDest%\Batch_%%count%%
call MOVE C:\Users\%username%\_BP_TEMP\*.txt %fullDest%\Batch_%%count%%
)
pause
goto:eof
:omg3
for /d %%i in (%fullDest%) do (
pushd %%i\
set /a count=0
for /d %%j in (*.*) do set /a count+=1
popd
call mkdir %fullDest%\Batch_%%count%%
call MOVE C:\Users\%username%\Desktop\_BP_TEMP\*.txt %fullDest%\Batch_%%count%%
)
pause
goto:eof
如果能提供帮助,我会非常感激。cr
【问题讨论】:
标签: loops batch-file for-loop space