0

バッチ ファイルとボラティリティ (コマンド プロンプト) に「エラー」があります。サムドライブで実行したい(まだテスト中)が、エラーは非常に奇妙に見える

私のバッチファイル(MyBatchFile.bat)で

E:   
vol231.exe -f E:\USER-PC-20140707-141900.raw imageinfo > Volatility.txt
exit

Java コーディング (elipse を使用)

import java.io.*;
public class Run3
{
public static void main(String args[])
    {       
        try 
        {
            Runtime rt = Runtime.getRuntime();
            Process p = rt.exec("cmd /c start E:\\MyBatchFile.bat");
        } 
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}

ここではすべてがうまく見えます。そして、それも実行できます。しかし、コマンドプロンプトが揮発性の部分になると。どうしてか分かりません。コマンドは次のようになります (以下を参照)。

vol231.exe -f E:\USER-PC-20140707-141900.raw imageinfo 1> Volatility.txt

「1」がどこから来るのかわかりません。これは私のメモリ分析に影響を与えました。プログラムを実行すると、すべてが独自に分析される Java を使用してコーディングを試みたかったのです。まだやっています。

しかし、その後...誰かがこのエラーで私を助けることができますか? この問題は私の脳汁をすべて絞り出しました!

どんな助けでも大歓迎です!!! 前もって感謝します。

乾杯、
リンフィ

4

1 に答える 1

0

たとえば、Windows シェルでの出力は、stdout または stderr に移動できます。> file でリダイレクトします。これを行うと、stdout がファイルにリダイレクトされます。stdout と stderr をリダイレクトする場合は、それらに番号を付けます。stdout の場合は 1 stderr の場合は 2。数値を省略した場合、デフォルトは 1 stdout です。

たとえば実行時

echo "Frodo" > test.txt

テキスト frodo が test.txt に書き込まれます。しかし、コマンドシェルもあなたがしたことをエコーし​​ます。それは反響します:

echo "Frodo" 1> test.txt

1 は、stderr ではなく stdout の出力がキャプチャされることを思い出させるためのものです。

あなたのスクリプトでは何も問題はありません。

私の記憶が正しければ、コマンドのエコーをバッチで有効にすることができます

@echo off.

お役に立てれば。

于 2014-07-13T15:00:21.867 に答える