我有一个包含名称列表的文件(称为文件1):
Apple
Bat
Cat
我有另一个文件(参见文件2),其中包含名称和详细信息的列表,请参阅:
Apple bla blaa
aaaaaaaaaggggggggggttttttsssssssvvvvvvv
ssssssssiiuuuuuuuuuueeeeeeeeeeennnnnnnn
sdasasssssssssssssssssssssswwwwwwwwwwww
Aeroplane dsafgeq dasfqw dafsad
vvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuus
fcsadsssssssssssssss
我知道如何使用BAT文件(以及linux中的.sh文件)从Java程序中启动/阻止Tomcat。就这样做了:
String command = "c:\program files\tomcat\bin\startup.bat";//for linux use .sh
Process child = Runtime.getRuntime().exec(command);
注意:使用CATALINA_HOME使这段代码更加动态。
现在,我正在寻找一种从程序启动/停止Tomcat的Windows服务的方法。我的意思是,我想启动/阻止Tomcat从Java中进入控制面板->管理工
我有许多从命令行与之交互的脚本。每次我需要使用它们时,我都必须打开一个命令行窗口,并打开指向它们所在目录的路径的copy+paste和CD。这很乏味(他们在一个相当深的文件系统中,所以输入完整的路径是很痛苦的,copy+paste更好,但不多)。我尝试创建一个可以双击的.BAT文件,该文件将在.bat文件所在的文件夹中打开一个新的命令行窗口,但无法工作。它打开一个新窗口,但工作目录不是.bat文件所在的目录。下面是我在大量搜索后得到的信息(我的cmd技能不太好):
cd %CD%
cmd.exe
当我使用Linux时,我就知道Konqueror有一个“命令行窗口在这里”的特性,这就是我试图在W
尝试使用windows批处理文件,在下面的代码中,我通过在www中搜索找到。
@ECHO OFF
REM Call this with two arguments, and it will add them.
SET a=%1+%2
IF %ERRORLEVEL%==0 (goto errors-0) ELSE (goto errors-1)
REM Instead of using goto with the variable, this uses an IF-ELSE structure
:errors-0
REM This is if it was successful
ECHO %a%
我有一个用java编写的程序,它使用第0个参数作为文件位置,如下所示
File f = new File(args[0]);
因此,当我使用windows批处理(.bat)文件执行它时,它可以正常工作。但是,当我在linux中使用linux shell文件(.sh)执行相同的命令时,我得到的是ArrayIndexOutOfBoundsException。
WINDOWS批处理文件:
@echo off
for /f %%i in ("%0") do set scriptpath=%%~dpi
set cp=%scriptpath%/../lib/*.jar;
java -cla
我有一个批处理文件x.bat,它包含以下代码:
@echo off
for /F %%i in ('dir /b "D:\xyz\*.*"') do
( call "D:\abcvik.bat" )
我有另一个批处理文件abcvik.bat,它包含以下代码:
@echo off
move /-y "D:\source\*.txt" "D:\destination\"
两个批处理文件都位于驱动器D上。
此外,我在驱动器D上有3个文件夹:xyz、destination、source
我希望在运行x.bat和文件夹xyz