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

[其他] 帮我看看这个批处理是什么意思?

  1. if "%OS%"=="Windows_NT" setlocal
  2. if not ""=="%1" (
  3. set JAVA_HOME=%1
  4. goto CheckENV
  5. )
  6. if exist ..\ufjdk\bin\java.exe (
  7. set JAVA_HOME=..\ufjdk
  8. goto INSTALL
  9. )
  10. if ""=="%JAVA_HOME%" (
  11. echo Please set JAVA_HOME environment variable first .
  12. goto QUIT
  13. )
  14. :CheckENV
  15. if not exist %JAVA_HOME%\bin\java.exe (
  16. echo Please set a valid JAVA_HOME environment. "%1" is invalid .
  17. goto QUIT
  18. )
  19. if not exist "%JAVA_HOME%\bin\jconsole.exe" (
  20. echo JAVA_HOME environment not is 1.5 version of JDK .
  21. goto QUIT
  22. )
  23. :INSTALL
  24. echo Setting JAVA_HOME environment variable with %JAVA_HOME% .
  25. for %%i in (.\ext\*.jar) do call cpappend.bat %%i
  26. set _CLASSPATH=.;.\install.jar;.\xmlstream.jar;.\treecreator.jar;%_LIB_JARS%
  27. "%JAVA_HOME%\bin\java" -classpath %_CLASSPATH% -Dinstall.batchfile.copyall=false nc.newinstall.Install
  28. UIT
  29. if "%OS%"=="Windows_NT" endlocal
复制代码


我主要是不明白:if not ""=="%1"这句.怎么解释,为什么这么写?

==是判断是否真值的意思,而%1是执行空格后面的文件的意思.而且前面的双引号之中是空的又表示什么意思呢?

版主帮我移动怎么不说顺便帮我回答一下啊,等待答案

TOP

""中是空的,当然表示是空值。 %1为批程序的第一个参数。请参照call/?
心绪平和,眼藏静谧。

TOP

  if not ""=="%1" 的含义是:如果第一个参数的值不为空的话……多看看 if /? 的帮助文件吧。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

谢谢二位指教,刚入门,所以问的问题比较初级.

TOP

返回列表