[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 xxpinqz 于 2013-7-22 18:36 编辑

vbs用来计算惯了,表示计算类都没写过。第三方更少接触,附上几个。表示纯支持,纯参与。
第一题:
  1. @echo off
  2. rem 能del /a/s/f/q *.*吗
  3. set "dst=d:\bathome"
  4. (for /f "delims=" %%a in ('dir /b/s/a "%dst%"^|sort /r') do (
  5.       del /a/q/f "%%a"
  6.       rd "%%a"
  7. ))>nul 2>nul
  8. rd "%dst%"
复制代码
第二题:郁闷的这题,有人考虑含空格的用户名吗,表示没招,查找目录也不一定准确。或者多虑了
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "skip=4 delims=" %%a in ('net user^|findstr /iv "命令成功完成"') do (
  3.      for %%i in (%%a) do set "#%%i=1"
  4. )
  5. for /f "delims=" %%a in (d:\BatHome_User_List.txt) do set "#%%a=!#%%a!2"
  6. for /f "tokens=1,2 delims=#=" %%a in ('set #') do (
  7.     if %%b equ 1 (
  8.         set "strz=!strz!%%a "
  9.     ) else (
  10.         if %%b equ 2 set "strj=!strj!%%a "
  11.     )
  12. )
  13. echo 非法增加用户:!strz!
  14. echo 非法减少用户:!strj!
  15. pause
复制代码
第三题:
  1. @echo off
  2. set "dx=ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  3. set "xx=abcdefghijklmnopqrstuvwxyz"
  4. set "sz=0123456789"
  5. set "zf=$#@~_+{}|;'<>?,./\][=-)(*:"
  6. set l=1000
  7. setlocal enabledelayedexpansion
  8. :loop
  9. set/a r1=!random!%%26,r2=!random!%%10,r3=!random!%%26,r4=!random!%%10
  10. if not defined #!r1!-!r2!-!r3!-!r4! (
  11.      set /a l+=1
  12.      set #!r1!-!r2!-!r3!-!r4!=!l!
  13. )
  14. if %l% lss 1100 goto :loop
  15. for /f "tokens=1,2 delims=#=" %%a in ('set #') do (
  16.     set "id=%%b"
  17.     for /f "tokens=1-4 delims=-" %%i in ("%%a") do (
  18.          set "pw=!dx:~%%i,1!!xx:~%%i,1!!zf:~%%i,1!!sz:~%%j,1!!dx:~%%k,1!!xx:~%%k,1!!zf:~%%k,1!!sz:~%%l,1!"
  19.          echo net user Bathome!id:~-3! !pw! /add
  20.     )
  21. )
  22. pause
复制代码
第四题:
浮点啊,不会。。。。
第五题:
算日期,也不会,只好走个捷径
  1. @echo off
  2. rem 不会计算日期,只好这么写了,win7测试,XP默认是周还是星期?
  3. more +6 <%~fs0>autobak.bat
  4. schtasks /create /tn autobak /sc daily /ru system /tr "%~dp0autobak.bat" /f
  5. goto :eof
  6. @echo off
  7. cd /d "%~dp0"
  8. for /f "tokens=1-4 delims=-/ " %%a in ("%date%") do (
  9.     set "today=%%b-%%c-%%a"
  10.     set "week=%%d"
  11. )
  12. if not exist "*.lst" (
  13.      (echo logs\
  14.       echo img\
  15.       echo .zip
  16.       echo .bak
  17.     )>"%today%.lst"
  18. )
  19. for %%a in (*.lst) do set "day=%%~na"
  20. ren "%day%.lst" "%today%.lst"
  21. if "%week:周=星期%"=="星期日" (
  22.     xcopy "d:\www.bathome\*.*" "d:\bbs.bathome\%week%\" /yshr
  23. ) else (
  24.     xcopy "d:\www.bathome\*.*" "d:\bbs.bathome\%week%\" /yshr /d:%day% /exclude:%today%.lst
  25. )
复制代码
第六题:
计算的略过
第七题:
curl,纯欣赏。
第八题:
  1. @echo off&setlocal enabledelayedexpansion
  2. more +20<%~s0>tmp
  3. set "c=零-+0# 壹-+1# 贰-+2# 叁-+3# 肆-+4# 伍-+5# 陆-+6# 柒-+7# 捌-+8# 玖-+9# 拾-0 佰-00 仟-000 万-^)#0000+^(0 角-0 分- "
  4. for /f "delims=" %%z in (tmp)do (
  5.   for /f "tokens=1,2 delims=圆整" %%i in ("%%z")do (
  6.     set "str=(%%i).%%j"
  7.     for %%a in (%c%) do (
  8.       for /f "tokens=1-2 delims=-" %%b in ("%%a")do set "str=!str:%%b=%%c!"
  9.     )
  10.     for /f "tokens=1-2 delims=." %%a in ("!str:#=*1!")do (
  11.       set/a xs=100%%b,num=%%a
  12.       set "num=0000000000!num!.!xs:~-2!"
  13.       set "#!num:~-12!=%%z"
  14.     )
  15.   )
  16. )
  17. for /f "tokens=2 delims==" %%a in ('set #')do echo,%%a
  18. del /f tmp&pause>nul&goto :eof
  19. 陆拾叁万贰仟伍佰肆拾叁圆叁角整
  20. 伍万圆整
  21. 捌万零肆佰圆伍角叁分
  22. 壹佰圆整
  23. 贰佰万叁仟贰佰陆拾陆圆零叁分
  24. 柒佰柒拾万零捌拾叁圆整
  25. 叁万圆肆角肆分
  26. 壹圆整
  27. 玖仟万零玖圆玖角
复制代码
第玖题:
  1. @echo off&setlocal enabledelayedexpansion
  2. set "src=%~dp0"
  3. (for /d /r f: %%a in (*) do (
  4.     pushd "%%a"
  5.     set str=
  6.     for %%b in (*) do set "str=!str!%%b"
  7.     if defined str (
  8.           echo,!str!*%%a
  9.     ) else (
  10.           echo,%%a >>%src%$t
  11.     )   
  12. ))>%src%$f
  13. cd /d "%src%"
  14. echo                    相同的不含文件的文件夹:
  15. type $t
  16. echo                      含相同文件的文件夹:
  17. for /f "tokens=1* delims=*" %%a in ('sort $f') do (
  18.     set "str1=!str2!"
  19.     set "path1=!path2!"
  20.     set "str2=%%a"
  21.     set "path2=%%b"
  22.     if "!str1!"=="!str2!" (
  23.     echo !path1!
  24.     set .=.
  25.     ) else (
  26.         if defined . (
  27.               set.=
  28.               echo,!path1!
  29.               echo ---------------传说的分割线---------------
  30.         )
  31.     )
  32. )
  33. if defined . echo,!path2!
  34. del $?&pause
复制代码
第十题:
没整过html,也不知道对不对.
  1. @echo off
  2. set "char=一 二 三 四 五 六 七 八 九 十 零"
  3. (echo ^<HTML^>^<BODY^>
  4. for /f "delims=" %%a in ('findstr /bivx "图[0-9]*\.[0-9]*$" 时间简史.txt') do (
  5.     for /f "delims=章" %%b in ("%%a") do (
  6.         set "str=%%b"
  7.         setlocal enabledelayedexpansion
  8.         for %%c in (%char%) do set "str=!str:%%c=!"
  9.         if "!str!"=="第" echo ^<br^>
  10.         endlocal
  11.     )
  12.     echo ^<br^>
  13.     echo ^&nbsp^&nbsp^&nbsp^&nbsp%%a^<br^>
  14. )
  15. echo ^</BODY^>^</HTML^>
  16. )>时间简史.html
复制代码
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

返回列表