2014-02-18 4 views
0

есть способ выполнить команду cmd, например, «переместить FolderA FolderB» без создания .bat-файла и запустить его? Было бы неплохо, если бы он работал без создания файлов на HDD.Запустить команду cmd без создания файла .bat

+0

Почему Java Tagged в этом вопросе? –

+0

@Sharpedge Я предполагаю, что они хотят сделать это из программы Java; хотя я только вывел его из тега, поэтому я мог ошибаться. – slim

+0

Возможный дубликат [Выполнять команды cmd через java] (http://stackoverflow.com/questions/15464111/run-cmd-commands-through-java) –

ответ

1
Runtime.getRuntime().exec(new String[]{"cmd.exe","/c","move","dirA/a.txt","dirB"}); 
1
Process process = new ProcessBuilder("cmd.exe", 
         "/c","move","dirA/a.txt","dirB").start(); 

ProcessBuilder предпочтительно Runtime.exec() так Java 1.5, в соответствии с JavaDoc.

Обязательно прочитайте Process Javadoc, чтобы понять, как читать и обрабатывать процессы.

Обман для команд, таких как move - это плохая практика, потому что она не переносима и не защищена. Вместо этого работайте с классами File. Но иногда вам приходится взаимодействовать с более эзотерическими внешними программами.

+0

Мне грустно приходится выкладывать и выполнять функцию «только окна», , потому что java позволяет окнам выполнять процесс перемещения файлов. только отдельные команды cmd перемещают файлы в отсортированном порядке. –

+0

Существует определенно ничего, что вы можете сделать с помощью «move», который вы не можете сделать с чистой Java. – slim

+0

Это не так. Когда java или apache commons выполняют перемещение, процесс начинается, например. в «e.txt» вместо «a.txt», если вы 26 файлов, a.txt .... z.txt –

Смежные вопросы