2011-09-13 25 views
0

次のコードを使用して、自分のJavaプロジェクトでフォルダを削除できなくしました。それはうまく動作します。プロジェクトのexeファイルを作成すると、dosプロンプトが消えません。dosプロンプトを開かずにコマンドを実行する必要があります

cmd.exe /c start icacls "folder name" /e /c /d %username% 

私もdosプロンプトを開かずに試しました。しかし、それは動作しません。

icacls ONGX32/winkrl /e /c /d %username% 

答えて

0

私は簡単な方法を発見しました。そのコマンドからなる.bat一時ファイルを作成しました。その.batファイルを使用しました。コマンドプロンプトが表示されませんでした。

1

代わりに使用します。

cmd /c icacls "folder name" /e /c /d %username% 

startcmd /cと同じの一種であるので、あなたは両方を必要としません。

+0

次のIOEXCEPTIONがスローされます。 "プログラムを起動できません" start ":CreateProcess error = 2、指定されたファイルが見つかりません" – Manikandan

+0

実際には間違いました。 'start'は実行可能ファイルではなくcmdコマンドです。 'start'は必要ありませんが、' cmd/c'が必要です。私はレコードのために上記の答えを更新しています。 – Sajid

0

変数%username%は、cmd.exeによってその値に置き換えられます。

System.getenv("username")で取得し、コマンド文字列に置き換える必要があります。

編集。また、icacls.exeへの完全修飾パスを使用する必要があります。

0

コマンドプロンプトで、コマンドexitが終了します。

multiple commands on one lineは、&&コマンドセパレータを使用して実行できます。

それはこのようなものでなければなりません:

cmd /c icacls "folder name" /e /c /d %username% && exit 
関連する問題