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

[其他] [已解决]批处理单独一行出现的%1和%2是什么含义?

%1 %2单独出现在一行中,并没有其他命令和参数,这个代表什么意思?
请看第三行......
========================================================分界线========================================================
  1. @echo off
  2. setlocal EnableDelayedExpansion & cd /d "%~dp0"
  3. %1 %2
  4. ver|find "5.">nul&&goto :start
  5. mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :start","","runas",1)(window.close)&goto :eof
  6. :start
  7. set KMSSER=203.91.43.188:6188
  8. cscript //Nologo %windir%\system32\slmgr.vbs /xpr | find "已永久激活">NUL&&goto wintooff
  9. ver | find "6.1." > NUL &&  goto win7
  10. ver | find "6.2." > NUL &&  goto win8
  11. ver | find "6.3." > NUL &&  goto win81
  12. ver | find "10.0.14" > NUL &&  goto win10
  13. ver | find "10.0.17" > NUL &&  goto win2019
  14. echo 未找到合适的系统……
  15. pause
  16. exit
  17. :win7
  18. echo 当前为Windows 7/2008 R2
  19. set Professional=FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4
  20. set ProfessionalN=MRPKT-YTG23-K7D7T-X2JMM-QY7MG
  21. set ProfessionalE=W82YF-2Q76Y-63HXB-FGJG9-GF7QX
  22. set Enterprise=33PXH-7Y6KF-2VJC9-XBBR8-HVTHH
  23. set EnterpriseN=YDRBP-3D83W-TY26F-D46B2-XCKRJ
  24. set EnterpriseE=C29WB-22CC8-VJ326-GHFJW-H9DH4
  25. set ServerWeb=6TPJF-RBVHG-WBW2R-86QPH-6RTM4
  26. set ServerHPC=TT8MH-CG224-D3D7Q-498W2-9QCTX
  27. set ServerStandard=YC6KT-GKW9T-YTKYR-T4X34-R7VHC
  28. set ServerEnterprise=489J6-VHDMP-X63PK-3K798-CPX3Y
  29. set ServerDatacenter=74YFP-3QFB3-KQT8W-PMXWJ-7M648
  30. set ServerEnterpriseIA64=GT63C-RJFQ3-4GMB6-BRFB9-CB83V
  31. goto windowsstart
  32. :win8
  33. echo 当前为Windows 8/2012
  34. set ServerStandard=XC9B7-NBPP2-83J2H-RHMBY-92BT4
  35. set ServerDatacenter=48HP8-DN98B-MYWDG-T2DCC-8W83P
  36. goto windowsstart
  37. :win81
  38. echo 当前为Windows 8.1/2012 R2
  39. set ServerCloudStorageCore=3NPTF-33KPT-GGBPR-YX76B-39KDD
  40. set ServerCloudStorage=3NPTF-33KPT-GGBPR-YX76B-39KDD
  41. set ServerDatacenter=W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9
  42. set ServerDatacenterCore=W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9
  43. set ServerStandard=D2N9P-3P6X9-2R39C-7RTCD-MDVJX
  44. set ServerStandardCore=D2N9P-3P6X9-2R39C-7RTCD-MDVJX
  45. set ServerSolution=KNC87-3J2TX-XB4WP-VCPJV-M4FWM
  46. set ServerSolutionCore=KNC87-3J2TX-XB4WP-VCPJV-M4FWM
  47. goto windowsstart
  48. :win10
  49. echo 当前为Windows 10/2016
  50. set Core=TX9XD-98N7V-6WMQ6-BX7FG-H8Q99
  51. set CoreCountrySpecific=PVMJN-6DFY6-9CCP6-7BKTT-D3WVR
  52. set CoreN=3KHY7-WNT83-DGQKR-F7HPR-844BM
  53. set CoreSingleLanguage=7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH
  54. set Professional=W269N-WFGWX-YVC9B-4J6C9-T83GX
  55. set ProfessionalN=MH37W-N47XK-V7XM9-C7227-GCQG9
  56. set Enterprise=NPPR9-FWDCX-D2C8J-H872K-2YT43
  57. set EnterpriseN=DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4
  58. set Education=NW6C2-QMPVW-D7KKK-3GKT6-VCFB2
  59. set EducationN=2WH4N-8QGBV-H22JP-CT43Q-MDWWJ
  60. set EnterpriseS=WNMTR-4C88C-JK8YV-HQ7T2-76DF9
  61. set EnterpriseSN=2F77B-TNFGY-69QQF-B8YKP-D69TJ
  62. set ServerDatacenter=CB7KF-BWN84-R7R2Y-793K2-8XDDG
  63. set ServerStandard=WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY
  64. set ServerSolution=JCKRF-N37P4-C2D82-9YXRT-4M63B
  65. goto windowsstart
  66. :win2019
  67. echo 当前为Windows2019
  68. set ServerDatacenter=WMDGN-G9PQG-XVVXX-R3X43-63DFG
  69. set ServerStandard=N69G4-B89J2-4G8F4-WWYCC-J464C
  70. set ServerEssentials=WVDHN-86M7X-466 P 6-VHXV7-YY726
  71. :windowsstart
  72. for /f "tokens=3 delims= " %%i in ('reg QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "EditionID"') do set EditionID=%%i
  73. if defined %EditionID% (
  74. cscript //Nologo %windir%\system32\slmgr.vbs /ipk !%EditionID%!
  75. cscript //Nologo %windir%\system32\slmgr.vbs /skms %KMSSER%
  76. cscript //Nologo %windir%\system32\slmgr.vbs /ato
  77. )
  78. pause
  79. exit
  80. :wintooff
  81. echo 系统已经永久激活!
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 6# Batcher


    多谢讲解

TOP

回复 3# 小渣飞


    在这个论坛坚持10年,你也行的
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# heyoug


代码执行到第5行的时候:
shellexecute("%~s0","goto :start","","runas",1)
会调用这个bat文件自身,并传递位置参数,那个时候 %1 %2 就有值了。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

获取传值用的。

给您一个简单的示例,请把以下代码保存为“测试.bat”,放在D盘

@echo off

echo %%1的传值是 %1
echo %%2的传值是 %2
echo %%3的传值是 %3

pause
然后在cmd窗口中执行

D:\测试.bat 参数1 haha OKScript

TOP

回复 2# Batcher

加ECHO  就会显示空白呀,什么都没有。

TOP

回复 2# Batcher


    一万多的帖子你是怎么做到的=-=

TOP

回复 1# heyoug


第三行下面加一行:
echo,%1 %2
观察一下执行过程试试能看明白吗?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表