2011-08-11 15 views
0

C#でコマンドバッチファイルを実行する際に問題が発生しました。実際に私はすべてのディレクトリファイルのファイルサイズを取得するために使用されるLog.batという名前のバッチファイルを作成しました。私はこのバッチファイルを私のデスクトップに入れました。私はこれを実行すると、ディレクトリとファイルのサイズを正常に取得します。バッチファイルの
私のスクリプトは次のとおりです。Cでバッチファイルを実行している間にデータが正しく表示されない

dir /s > "C:\Documents and Settings\dinesh.kumar\Desktop\LogFile.txt" 

この指定されたパスは私のファイル保存場所です。 出力:

Directory of C:\Documents and Settings\dinesh.kumar\Desktop\Color Cop 

10/24/2007 12:08 AM   97,792 ColorCop.exe 
08/10/2006 03:12 PM   26,235 ColorCop.HLP 
08/10/2006 03:12 PM    372 file_id.diz 
10/23/2007 11:50 PM    1,332 license.txt 
10/24/2007 12:06 AM   10,877 readme.txt 
      5 File(s)  136,608 bytes 

は今、私はC#でそのバッチファイルを実行するには、Windowsアプリケーションを開発しました。 バッチファイルを実行するための私のコードは次のとおりです。

protected void btnRun_Click(object sender, EventArgs e) 
{ 
    System.Diagnostics.Process.Start("C:\\Documents and Settings\\dinesh.kumar\\Desktop\\Log.bat"); 
} 

しかし、私は、このアプリケーションを実行すると、それはデスクトップ上logfile.txtというを作成しますが、それはこのようなmicrosoftvisualstudioディレクトリのファイルを与えます。 出力

Directory of C:\Program Files\Microsoft Visual Studio 8\Common7\IDE 

08/11/2011 12:53 PM <DIR>   . 
08/11/2011 12:53 PM <DIR>   .. 
06/29/2011 04:14 PM <DIR>   1033 
09/23/2005 02:53 AM   27,648 cmddef.dll 
09/23/2005 04:24 AM   257,024 compluslm.dll 
09/23/2005 03:37 AM   139,264 csformatui.dll 
09/23/2005 07:15 AM   33,792 custsat.dll 
09/23/2005 07:15 AM   1,038,848 dbghelp.dll 
09/22/2005 11:16 PM   27,112 dteproperties.tlb 
06/29/2011 04:14 PM <DIR>   ExceptionAssistantContent 
06/29/2011 04:14 PM <DIR>   HTML 
08/11/2011 12:53 PM   96,032 LogFile.txt 
09/23/2005 06:56 AM   19,456 MakeZipExe.exe 
09/23/2005 06:56 AM   393,216 Microsoft.Data.ConnectionUI.Dialog.dll 
09/23/2005 06:56 AM    6,144 Microsoft.Data.ConnectionUI.dll 

申し訳ありませんが、データが長すぎます。私はそれにペーストすることはできません。
デスクトップディレクトリとそのファイルが表示されないのはなぜですか? どうしたのですか?任意のコードや提案をいただければ幸いです。あなたはProcess.Startを呼び出すときに、作業ディレクトリは、アプリケーションのディレクトリに設定されているため、事前

+0

あなたのWinFormsはどのディレクトリに入っていますか? – Tim

+0

興味深いですが、なぜこのためにバッチファイルを使用していますか? –

答えて

0
TJが言ったように、あなたの打ち上げは、あなたがしたいディレクトリ(打ちダ・パスでもよい)とない作業ディレクトリを取るためにあなたのプロセスのコードを変更し

+0

プログラム内のパスIMOのようなものをハードコードする理由はほとんどありません。 – Tim

+0

毎回パスのテキストを使用するのではなく、変数または定数にするのがベストプラクティスです。 – TJHeuvel

+0

@ティム、そう、私は "5月になる"と言った – Zenwalker

関連する問題