联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
>test.txt echo. >"test 1.log" echo. md "test 文件夹" md "test 文件夹.ddd" copy /y *.txt "test 文件夹" copy /y *.log "test 文件夹" cls&@echo 测试文件及文件夹已创建,按任意键继续. . .&pause>nul @rem 实际应用上面部分去掉 @echo off&mode con cols=80 lines=12 setlocal enabledelayedexpansion set CurDir=%~dp0 title 创建或删除一个私密文件夹 if not exist sm..\nul ( md sm..\ color 5a&cls&echo.&echo 私密文件夹已创建!文件将装入私密文件夹中...&ping/n 2 127.1>nul for /f "delims=*" %%a in ('dir/ad/s/b "%CurDir%"^|findstr /i /v "\sm."') do md "%CurDir%sm6b7e~1\%%~nxa" for /f "delims=*" %%i in ('dir/a-d/s/b "%CurDir%"^|findstr /i /v "\sm. .bat .cmd"') do ( set "SourceFile=%%i" set "DestinationFile=!SourceFile:%CurDir%=!" call :xxxx "!SourceFile!" "%CurDir%sm6b7e~1\!DestinationFile!" ) ping/n 2 127.1>nul start "" "%CurDir%sm..\" ) else ( rd /s/q sm..\ color 5e&cls&echo.&echo 私密文件夹已删除!&ping/n 2 127.1>nul ) color 5b&cls&echo.&echo 重复执行重新创建或删除!&ping/n 2 127.1>nul exit :xxxx cls&echo 正在复制文件 "%~1" ...... xcopy /y/h/r "%~1" "%~dp2" >nul goto:eof
Originally posted by HAT at 2008-6-28 17:34: 加个fox循环排除sm..\,然后再利用xcopy /i,也许可以实现,先吃饭去了,回来再讨论。
Originally posted by philon at 2008-6-28 21:22: 我把 cls&echo 正在复制文件 "%~1" ...... 改成了 cls&echo 正在复制文件 ...... 哈哈
:xxxx cls&echo 正在复制文件%status% xcopy /y/h/r "%~1" "%~dp2" >nul set status=%status%. goto:eof
@echo off&mode con cols=70 lines=12 setlocal enabledelayedexpansion set CurDir=%~dp0 color 5b&cls&echo. set /p Name=输入一个文件夹名!不支持带空格文件夹名 if not defined Name color 0c&cls&echo.&echo 你没有输入任何字符!&&ping/n 3 127.1>nul&exit title 创建或删除一个私密文件夹 if not exist %Name%..\nul ( md "%Name%..\" for /f "skip=1 tokens=4*" %%a in ('dir/ad/x "%CurDir%%Name%.*"') do if not defined ShortName set "ShortName=%%a" color 5a&cls&echo.&echo 私密文件夹已创建!文件将装入私密文件夹中...&ping/n 2 127.1>nul for /f "delims=*" %%a in ('dir/ad/s/b "%CurDir%"^|findstr /i /v "\%Name%."') do md "%CurDir%!ShortName!\%%~nxa" for /f "delims=*" %%i in ('dir/a-d/s/b "%CurDir%"^|findstr /i /v "\%Name%. .bat .cmd"') do ( set "SourceFile=%%i" set "DestinationFile=!SourceFile:%CurDir%=!" call :xxxx "!SourceFile!" "%CurDir%!ShortName!\!DestinationFile!" ) ping/n 2 127.1>nul start "" "%CurDir%%Name%..\" ) else ( rd /s/q "%Name%..\" color 5e&cls&echo.&echo 私密文件夹已删除!&ping/n 2 127.1>nul ) color 5b&cls&echo.&echo 重复执行重新创建或删除!&ping/n 2 127.1>nul exit :xxxx if not defined count set count=0 if %count% gtr 50 set status=.&set count=1 cls&echo 正在复制文件%status%.. xcopy /y/h/r "%~1" "%~dp2" >nul set status=%status%.&set /a count+=1 goto:eof