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

[其他] [已解决]如下代码中为什么添加了常规状态下不需要的%号

远程开启共享代码如下:
  1. if exist 3.bat (goto :check) else goto :no3
  2. :check
  3. if exist share.bat (goto :run) else goto :noshare
  4. :no3
  5. rem 写文件到3.bat
  6. echo title 测试>3.bat
  7. echo echo off>>3.bat
  8. echo cls>>3.bat
  9. echo echo.>>3.bat
  10. echo echo ************远程开启共享(siyizhu.com)***********>>3.bat
  11. echo echo.>>3.bat
  12. echo echo 本程序的使用格式如下:>>3.bat
  13. echo echo.>>3.bat
  14. echo echo share [remoteip] [user] [password]>>3.bat
  15. echo echo ************************************************>>3.bat
  16. :noshare
  17. rem 写文件至share.bat
  18. echo echo off>share.bat
  19. echo cls>>share.bat
  20. echo echo ******************程序正在运行***************>>share.bat
  21. echo net use \\%%1\ipc$ %%3 /user:%%2>>share.bat
  22. echo cls>>share.bat
  23. echo goto result%%errorlevel%%>>share.bat
  24. echo :result2>>share.bat
  25. echo echo **************远程主机错误*************** ^& echo. ^&echo 远程主机不存在,或不符合设置 ^&echo. ^& echo
  26. ***************************************** ^&goto :exit>>share.bat
  27. echo :result0>>share.bat
  28. echo echo *************请等待....******************* ^&echo. >>share.bat
  29. echo for /f "tokens=1,2 delims=:" %%%%i in ("%%time%%") do set /a hh1=%%%%i ^& set /a mm1=%%%%j>>share.bat
  30. echo net time \\%%1 /set /y>>share.bat
  31. echo cls>>share.bat
  32. echo echo *************命令成功*****************>>share.bat
  33. echo echo.>>share.bat
  34. echo for /f "tokens=1,2 delims=:" %%%%i in ("%%time%%") do set /a hh=%%%%i ^& set /a mm=%%%%j>>share.bat
  35. echo echo 远程主机:%%1上的时间为%%hh%%:%%mm%%>>share.bat
  36. echo echo.>>share.bat
  37. echo set /a mm=%%mm%%+1>>share.bat
  38. echo at \\%%1 %%hh%%:%%mm%% net share c$=c:>>share.bat
  39. echo at \\%%1 %%hh%%:%%mm%% net share d$=d:>>share.bat
  40. echo at \\%%1 %%hh%%:%%mm%% net share e$=e:>>share.bat
  41. echo at \\%%1 %%hh%%:%%mm%% net share admin$>>share.bat
  42. echo echo C、D、E、Admin共享将在一分钟后启动....>>share.bat
  43. echo time %%hh1%%:%%mm1%%>>share.bat
  44. echo echo **************************************>>share.bat
  45. echo :exit>>share.bat
  46. :run
  47. cmd /k 3.bat
复制代码
看了感觉都多了%,但去了%号以后又报错。不知道为什么要这么多的%号?请帮忙看下,谢谢了先!

[ 本帖最后由 Fashioner 于 2009-9-18 21:51 编辑 ]

你分别用
@echo off
echo %a >1.txt
和echo %%a >1.txt
实验一个,你就知道为什么要用两个%%了。

TOP

  如果要把%输出到文本,需要用%来对%进行转义,所以会连用两个%。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

返回列表