我打算打开一个命令提示符并传入一个复制命令,一些开关,源文件加目标.我已经尝试了下面的代码,但似乎没有发生任何事情.我没看到什么?我能做错什么?
String line; line = "cmd COPY /Y C:\srcfolder\112.bin C:\destfolder"; Process p = Runtime.getRuntime().exec(line); p.waitFor();
vladr.. 9
如果你真的必须使用外部命令,那么你可能想要执行(注意/ C):
CMD /C COPY /Y C:\srcfolder\112.bin C:\destfolder
我建议你使用数组版本exec
来避免处理引用(如果任何文件或目录包含空格 - 或双引号 - 在其中):
String[] args = { "CMD", "/C", "COPY", "/Y", src_file, dest_folder }; Process p = Runtime.getRuntime().exec(args); p.waitFor();
请记住,这不是可移植的(在Unix上不起作用),所以除非你真的需要使用,COPY
否则你应该使用链接到的方法bstpierre
.
如果你真的必须使用外部命令,那么你可能想要执行(注意/ C):
CMD /C COPY /Y C:\srcfolder\112.bin C:\destfolder
我建议你使用数组版本exec
来避免处理引用(如果任何文件或目录包含空格 - 或双引号 - 在其中):
String[] args = { "CMD", "/C", "COPY", "/Y", src_file, dest_folder }; Process p = Runtime.getRuntime().exec(args); p.waitFor();
请记住,这不是可移植的(在Unix上不起作用),所以除非你真的需要使用,COPY
否则你应该使用链接到的方法bstpierre
.