作业帮 > 体裁作文 > 教育资讯

run,bat一闪而过

来源:学生作业帮助网 编辑:作业帮 时间:2024/09/23 22:29:20 体裁作文
run,bat一闪而过体裁作文

篇一:tomcat启动startup.bat一闪而过

遇到很多次运行startup.bat后,一个窗口一闪而过的问题,但是从来没去纠正怎样修改配置才是正确的,现在从网上查阅的资料整理如下:

tomcat在启动时,会读取环境变量的信息,需要一个CATALINA_HOME 与JAVA_HOME的信息,CATALINA_HOME即tomcat的主目录,JAVA_HOME即java安装的主目录,jdk的主目录。

首先,要在环境变量处,配置JAVA_HOME,注意变量值是jdk的主目录,不是bin目录,并且不要加分号,如图:

然后,如果这样配置,startup.bat还是一闪而过,可以右键点击startup.bat,编辑,在文本的最后敲上pause,保存后重新运行startup.bat,这时候窗口不会再一闪而过,而是停留在桌面上(调试成功,把pause去掉即可)。

如果有错误信息,这时候会显示出来,可以再根据它的错误提示,上网搜索对应的解决办法,下面是在错误提示窗口遇到过的问题:

一、 Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

Tomcat 的startup.bat,它调用了catalina.bat,而catalina.bat则调用了setclasspath.bat,只要在 setclasspath.bat的开头声明环境变量(红色两行)就可以了,原因是后来较新版本安装完不会自动登记环境变量 JAVA_HOME,JRE_HOME。

给setclasspath.bat的开头添加红色标记部分,如下:

rem ---------------------------------------------------------------------------

rem Set CLASSPATH and Java options

rem

rem $Id: setclasspath.bat 505241 2007-02-09 10:22:58Z jfclere $

rem ---------------------------------------------------------------------------

set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_20

set JRE_HOME=C:\Program Files\Java\jre6

rem Make sure prerequisite environment variables are set

if not "%JAVA_HOME%" == "" goto gotJdkHome

if not "%JRE_HOME%" == "" goto gotJreHome

echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined echo At least one of these environment variable is needed to run this program goto exit

这样在每次运行startup.bat时就自动注册了JAVA_HOME,JRE_HOME。

运行startup.bat,提示“信息:Server startup in xxxxx ms” OK 大功告成。

二、Cannot find ""d:\apache-tomcat-6.0.32"\bin\setclasspath.bat" 这个时候,可能是CATALINA_HOME的值在某个地方被写死了,像我的绿色版tomcat在bin文件下多了一个setenv.bat的文件,打开一看果然是在这里面被写死了CATALINA_HOME的路径,这应该是为了某种原因被人后加上的设置文件,把这个文件删除之后,tomcat可以正常运行了。

这种情况,可以去看catalina.bat中的配置,如下图,可能配置死的内容就在这个文件里。

篇二:运行bat时隐藏cmd窗口的方法(bat隐藏窗口 隐藏运行bat文件)

有时间需要隐藏bat的运行时的黑窗口,一来提高用户体验,希望大家不要非法用途。

这里脚本之家简单的整理下常用方法,方便大家使用。都是通过vbscript的代码。

运行bat时隐藏cmd窗口的方法 可以编辑一个vbs脚本,在其中以隐藏窗口运行批处理程序。

复制代码 代码如下:

Set ws = CreateObject("Wscript.Shell")

ws.run "cmd /c 批处理程序名",vbhide

将上面代码拷贝到记事本中,保存为"runbat.vbs"或者其它的名字(扩展名必须是.vbs),然后点击运行生成的脚本runbat.vbs,即可隐藏运行指定的批处理程序。

这个vbs脚本也可以在bat环境中直接调用,达到隐藏bat自身的目的。

自己总结一下,做几个例子,有兴趣的去试验一下啊!

复制代码 代码如下:

Set ws = CreateObject("Wscript.Shell")

wscript.sleep 1200 ws.run "cmd /c start winrar.exe",vbhide

wscript.sleep 2200 ws.run "cmd /c start msimn.exe",vbhide

wscript.sleep 1200 ws.run "cmd /c start iexplore.exe",vbhide

隐藏运行Hide_Run.vbs

其实谈不上什么原创,只不过感觉还算实用,封装了,可以当做一个命令工具来用。不过慎用~

Hide_Run.vbs [command1] …

复制代码 代码如下:

on error resume next

Set objArgs=WScript.Arguments

For I=0 to objArgs.Count-1

strArgs=objArgs(I)

if strArgs<>"" then HideRun(strArgs)

Next

function HideRun(h)

set oWSl=WScript.CreateObject("WScript.Shell") rtn=oWSl.run(h,0,false)

end function

篇三:tomcat一闪而过

遇到很多次运行startup.bat后,一个窗口一闪而过的问题,但是从来没去纠正怎样修改配置才是正确的,现在从网上查阅的资料整理如下:

tomcat在启动时,会读取环境变量的信息,需要一个CATALINA_HOME 与JAVA_HOME的信息,CATALINA_HOME即tomcat的主目录,JAVA_HOME即java安装的主目录,jdk的主目录。

首先,要在环境变量处,配置JAVA_HOME,注意变量值是jdk的主目录,不是bin目录,

并且不要加分号,如图:

然后,如果这样配置,startup.bat还是一闪而过,可以右键点击startup.bat,编辑,在文本的最后敲上pause,保存后重新运行startup.bat,这时候窗口不会再一闪而过,而是停留在桌面上(调试成功,把

pause去掉即可)。

如果有错误信息,这时候会显示出来,可以再根据它的错误提示,上网搜索对应的解决办法,

下面是在错误提示窗口遇到过的问题:

一、 Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

Tomcat的startup.bat,它调用了catalina.bat,而catalina.bat则调用了setclasspath.bat,只要在setclasspath.bat的开头声明环境变量(红色两行)就可以了,原因是后来较新版本安装完不会自动登记环境变量JAVA_HOME,JRE_HOME。

给setclasspath.bat的开头添加红色标记部分,如下:

rem ---------------------------------------------------------------------------

rem Set CLASSPATH and Java options

rem

rem $Id: setclasspath.bat 505241 2007-02-09 10:22:58Z jfclere $

rem --------------------------------------------------------------------------- set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_20

set JRE_HOME=C:\Program Files\Java\jre6

rem Make sure prerequisite environment variables are set

if not "%JAVA_HOME%" == "" goto gotJdkHome

if not "%JRE_HOME%" == "" goto gotJreHome

echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined echo At least one of these environment variable is needed to run this program goto exit

这样在每次运行startup.bat时就自动注册了JAVA_HOME,JRE_HOME。

运行startup.bat,提示“信息:Server startup in xxxxx ms” OK 大功告成。 二、Cannot find ""d:\apache-tomcat-6.0.32"\bin\setclasspath.bat" 这个时候,可能是CATALINA_HOME的值在某个地方被写死了,像我的绿色版tomcat在bin文件下多了一个setenv.bat的文件,打开一看果然是在这里面被写死了CATALINA_HOME的路径,这应该是为了某种原因被人后加上的设置文件,把这个文件删除之后,tomcat可以正常运行了。

这种情况,可以去看catalina.bat中的配置,如下图,可能配置死的内容就在这个文件里。

篇四:tomcat启动startup.bat一闪而过

遇到很多次运行startup.bat后,一个窗口一闪而过的问题,但是从来没去纠正怎样修改配置才是正确的,现在从网上查阅的资料整理如下:

tomcat在启动时,会读取环境变量的信息,需要一个CATALINA_HOME 与JAVA_HOME的信息,CATALINA_HOME即tomcat的主目录,JAVA_HOME即java安装的主目录,jdk的主目录。

首先,要在环境变量处,配置JAVA_HOME,注意变量值是jdk的主目录,不是bin目录,并且不要加分号,如图:

然后,如果这样配置,startup.bat还是一闪而过,可以右键点击startup.bat,编辑,在文本的最后敲上pause,保存后重新运行startup.bat,这时候窗口不会再一闪而过,而是停留在桌面上(调试成功,把pause去掉即可)。

如果有错误信息,这时候会显示出来,可以再根据它的错误提示,上网搜索对应的解决办法,下面是在错误提示窗口遇到过的问题:

一、 Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

Tomcat的startup.bat,它调用了catalina.bat,而catalina.bat则调用了setclasspath.bat,只要在setclasspath.bat的开头声明环境变量(红色两行)就可以了,原因是后来较新版本安装完不会自动登记环境变量JAVA_HOME,JRE_HOME。

给setclasspath.bat的开头添加红色标记部分,如下:

rem ---------------------------------------------------------------------------

rem Set CLASSPATH and Java options

rem

rem $Id: setclasspath.bat 505241 2007-02-09 10:22:58Z jfclere $

rem ---------------------------------------------------------------------------

set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_20

set JRE_HOME=C:\Program Files\Java\jre6

rem Make sure prerequisite environment variables are set

if not "%JAVA_HOME%" == "" gotogotJdkHome

if not "%JRE_HOME%" == "" gotogotJreHome

echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined echo At least one of these environment variable is needed to run this program

goto exit

这样在每次运行startup.bat时就自动注册了JAVA_HOME,JRE_HOME。

运行startup.bat,提示“信息:Server startup in xxxxxms” OK 大功告成。

二、Cannot find ""d:\apache-tomcat-6.0.32"\bin\setclasspath.bat" 这个时候,可能是CATALINA_HOME的值在某个地方被写死了,像我的绿色版tomcat在bin文件下多了一个setenv.bat的文件,打开一看果然是在这里面被写死了CATALINA_HOME的路径,这应该是为了某种原因被人后加上的设置文件,把这个文件删除之后,tomcat可以正常运行了。

这种情况,可以去看catalina.bat中的配置,如下图,可能配置死的内容就在这个文件里。

三、JAVA_HOME should point to a JDK not a JRE |vista tomcat 有的朋友在启动Tomcat的时候会出现问题。

1例如:手动点击startup.bat 后,一闪而过

2例如:在cmd下进到tomcat的bin目录运行 startup.bat ,然后输出了JAVA_HOME should point to a JDK not a JRE,或者输出找不到JAVA_HOME环境变量。

好了,跟我一起,来帮你解决吧,本人使用的vista旗舰版操作系统,下载了tomcat6.0

后,

解压缩后,进到bin目录,点击startup.bat 试图启动tomcat,但是它却一闪而过,让我很伤心,以前用xp,没有这样的问题啊!~·然后我运行了cmd,进到了bin目录,直接输入startup.bat运行,如下

D:\Servers\Tomcat6.0-s\bin>startup.bat 运行,然后输出了N多英文,大概的意思呢,就是找不到JAVA_HOME jdk环境变量,于是根据它的提示,我配置了JAVA_HOME jdk环境变量,如下步骤

打开我的电脑属性-高级如果你的环境变量里存在 JAVA_HOME这名称,你直接点编辑就可以,否则你要新建一个名为JAVA_HOME的环境变量名,然后找到你安装的java jdk的路径,例如我安装到了D 盘的某个目录中

那环境变量就要这样写 D:\pro\javajdk1.6 后面千万不要加分号,路径也必须是英文的如果你写成D:\pro\javajdk1.6\bin 这就是错误的!

如果你不小心写成这个样子或者写成其他的乱七八糟的,那么你再次在dos里运行startup.bat ,会提示JAVA_HOME should point to a JDK not a JRE ,如果你无法解决,现在教你个很好的方法诊断你的环境变量是否配置正确

再打开一个cmd,

1.输入if not exist "%JRE_HOME%\bin\java.exe" echo no jre java 回车

结果:no jre java 它告诉你了,你的环境变量没有java jre

2.输入if not exist "%JAVA_HOME%\bin\java.exe" echo no jdk java 回车

结果:no jdk java 它告诉你了,你的环境变量没有java jdk

3.输入if not exist "%JAVA_HOME%\bin\java.exe" echo "%JAVA_HOME%\bin\java.exe" 回车

结果:"D:\pro\javajdk1.6;\bin\java.exe" 看到没,这个给你打印出了你的环境变量的全路径,我居然多了个分号!!真该死,检查出来了,环境变量多了个分号,他就找不到了。去掉分号,然后再次尝试就OK了。

一切Ok 后,你下次就可以直接点击startup.bat,就不会一闪而过了!

注意:如果一切步骤都是正确的,还报告找不到jdk,那你就有必要检查一下你的java jdk的bin目录下有没有

java.exe

javaw.exe

jdb.exe

javac.exe

这4个,如果缺少,标示你的jdk安装的有毛病哦!再下一个吧

篇五:批处理隐藏运行

批处理隐藏运行

(1)通过批处理命令实现。缺点:会看到一个窗口一闪而逝。优点:简单,直接添加即可。

@echo off

if "%1"=="h" goto begin

start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit

:begin

::以下为正常批处理命令,不可含有pause set/p等交互命令

pause

(2)利用vbs脚本实现隐藏。缺点:调用麻烦点。优点:基本看不到痕迹(非绝对的,指一般用户)

HideRun.vbs

CreateObject("WScript.Shell").Run "cmd /c D:/test.bat",0

其中D:/test.bat是你的批处理路径

另一思路为把bat转换成vbs,然后vbs生成一个临时bat文件,然后WScript.Shell.Run隐藏启动这个临时bat。

HideRun.bat

echo CreateObject("WScript.Shell").Run "cmd /c D:/test.bat",0>$tmp.vbs cscript.exe /e:vbscript $tmp.vbs

del $tmp.vbs

这个批处理其实不能使其批处理本身隐藏,但是下面大部分隐藏调用批处理的原理和基础。

HideRun.js

用Javascript有什么好处呢?js的字符串变量可以用单引号,从而方便命令行作为参数调用,而且js很好的支持多行语句用 ; 分隔写成一行。要注意的是:js要区分大小写,方法

必须用括号,结尾必须有分号。所以就成了下面的命令:

mshta "javascript:new ActiveXObject('WScript.Shell').Run('cmd /c

D:/test.bat',0);window.close()"

通常系统管理员会向用户端推送一些脚本并运行,或者拷贝批处理文件到客户端由用户自己运行。但是大部分脚本在运行时会弹出黑色背景的DOS窗口,这会让不少用户不知所

措,甚至误操作关闭正在运行的窗口。好在批处理文件的DOS窗口是可以隐藏的,以下是几种隐藏批处理运行窗口的方法。

1.基础

HideRun.vbs

CreateObject("WScript.Shell").Run &

run bat一闪而过

quot;cmd /c D:/test.bat",0

其中D:/test.bat是你的批处理路径

另一思路为把bat转换成vbs,然后vbs生成一个临时bat文件,然后

WScript.Shell.Run隐藏启动这个临时bat。

HideRun.bat

echo CreateObject("WScript.Shell").Run "cmd /c D:/test.bat",0>$tmp.vbs cscript.exe /e:vbscript $tmp.vbs

del $tmp.vbs

这个批处理其实不能使其批处理本身隐藏,但是下面大部分隐藏调用批处理的原理和基础。

HideRun.js

用Javascript有什么好处呢?js的字符串变量可以用单引号,从而方便命令行作为参数调用,而且js很好的支持多行语句用 ; 分隔写成一行。要注意的是:js要区分大小写,方法

必须用括号,结尾必须有分号。所以就成了下面的命令:

mshta "javascript:new ActiveXObject('WScript.Shell').Run('cmd /c

D:/test.bat',0);window.close()"

2.用快捷方式

如果要使一个批处理本身隐藏,可以参考附件里的一个快捷方式,修改附件中的相关路径即可隐藏启动你的批处理。可以用vbs来建立一个 .lnk,其实用批处理也行(先echo一个

vbs出来)

3.利用系统服务

可以建立一个系统服务然后启动这个服务来启动批处理。缺点是启动服务较慢,需要管理员权限

runassrv add /cmdline:"C:/Windows/System32/cmd.exe /c D:/test.bat"

/name:"mysrv"

net start mysrv

4.利用at计划任务

用at可以建立一个计划任务,在不输入 /interactive 参数可以后台运行。但是建使用at必须有管理员权限

at 09:10 "cmd /c D:/Test.bat"

然后在 9:10 系统就会自动后台以SYSTEM权限运行这个bat

5.利用ftype文件关联

ftype batfile=C:/Windows/System32/mshta "javascript:new

ActiveXObject('WScript.Shell').Run('cmd /c%1',0);window.close();"

6.其他用户

Windows 2k/XP支持多用户,如果能在后台登陆另一个账户的桌面然后运行一个批处理,就能完全达到隐藏的目的

7.编译成可执行文件

不少方法可以实现,可以直接利用的工具有 Quick Batch file compiler。

体裁作文