Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java的特定提示命令_Java_Windows_Command_Prompt - Fatal编程技术网

使用java的特定提示命令

使用java的特定提示命令,java,windows,command,prompt,Java,Windows,Command,Prompt,我想在java下执行以下windows命令: rmdir/s C:\Main\Second\Third Y 问题是有两个命令要运行,一个用于删除,一个用于确认(如您所见,一个简单的“Y”) 我知道这是可行的,但我没能成功 String rmCommand = "cmd.exe /c rmdir /s /q C:\\Main\\Second\\Third"; Runtime runt = Runtime.getRuntime()

我想在java下执行以下windows命令:

rmdir/s C:\Main\Second\Third

Y

问题是有两个命令要运行,一个用于删除,一个用于确认(如您所见,一个简单的“Y”)

我知道这是可行的,但我没能成功

        String rmCommand = "cmd.exe /c rmdir /s /q C:\\Main\\Second\\Third";
        
        Runtime runt = Runtime.getRuntime();
        Process process = runt.exec(rmCommand);
所以我的问题是:多亏了JAVA代码,如何在提示符下运行上述两个命令


编辑:我根据一些建议修改了一些初始代码,但仍然不起作用。。。我不知道该怎么办。

rmdir
不是一个程序,它是命令shell的一部分。因此,您需要运行以下操作:

"cmd.exe /c rmdir /s C:\\Main\\Second\\Third"

(对于生产版本,您当然要确保获得了正确的cmd.exe。)

为了避免被要求确认,请在rmdir命令中添加/Q:


但使用rmdir执行此操作是一种非常糟糕的做法。如果你不想自己做重复删除的事情,使用。这并不是rmdir是否足够的问题,而是使用正确方法的问题。如果我理解正确的话,您的问题是java不能删除打开的文件,但是rmdir可以。看起来更像是代码打开文件的问题,不是吗?

抛开是否良好的做法的问题,您的问题的答案如下:创建一个包含单个字符的文件
Y
。假设它的名字叫
y.txt

那么您的命令将是:

cmd.exe /c rmdir /s C:\\Main\\Second\\Third < y.txt
cmd.exe/c rmdir/s c:\\Main\\Second\\Third
顺便说一句,您只需使用java即可轻松删除文件/目录。不,这对我不起作用。我尝试过删除,但遇到了这样的错误::/所以我认为这是我唯一的解决方案。必须同意@MatjazMuhic。为什么要为此付出代价?如果因为文件被锁定而无法删除,那么rmdir也不会工作,不是吗?您是否尝试过
echo y | cmd.exe/c rmdir/s/q c:\\Main\\Second\\Third
我明白了,谢谢您的快速回答。但是问题:如果cmd.exe请求确认怎么办?在这里,我需要在cmd中输入“Y”以确认删除。@user1618814最好在您的问题中添加此详细信息,以使其更清楚@Alex k:如前所述:“因此,我的问题是:由于JAVA代码,如何在提示中运行上述两个命令。”我还编辑了我的帖子,如果不清楚,很抱歉您可以使用/q使其不提问,我想,我不知道哪里会是我的错误。文件F1=新文件(“BLABLA”)不必关闭,是吗?是的,关于打开的文件,您可能是对的,但我很难检查整个代码。我需要再次检查400行,我不知道我在哪里会忘记这一点..顺便说一下,我尝试使用rmdir和您的提案,没有错误,但没有删除任何内容:/Jon Skeet回答说,您是否使用cmd.exe运行了它?