C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■103686 / 2階層)  C#から外部バッチファイルを実行させるときのエラー
□投稿者/ PATIO (15回)-(2025/05/23(Fri) 10:28:39)
No103673 (魔界の仮面弁士 さん) に返信
> ■No103672 (inak さん) に返信
>> string exeBatchFile = AppDomain.CurrentDomain.BaseDirectory + @"run.bat";
> このパスが正しいことは確認済みでしょうか?
> (上記が、実行ファイルのフォルダーを指すとは限らないそうで)
> https://dobon.net/vb/dotnet/vb6/apppath.html
>
>> C:
>> cd C:\temp\test
> CD /D C:\temp\test
> と 1 行にまとめることもできますね。
>
>> cal_program.exe
>>Fortranで作成されたDOS版の古いプログラム "cal_program.exe" が存在しているフォルダーに移ってから実行させるようにしています。
> 古いプログラムなら、32bit プロセスであることを前提にしていそうに思いますが、
> そのバッチファイルは、32bit プロセスと 64bit プロセスのどちらで実行させていますか?
> 環境変数「PROCESSOR_ARCHITECTURE」と「PROCESSOR_ARCHITEW6432」の値を確認してみてはいかがでしょう。
>
>>このコードを実行すると「System.ComponentModel.Win32Exception」「プロセスはファイルにアクセスできません。別のプロセスが使用中です。」というエラーが発生します。
>>メッセージを見るとバッチファイルが別プロセスで使用中というメッセージみたいで、バッチファイルも中身の記述が消えてファイルサイズがゼロになってしまっています。
> UAC によるフォルダー仮想化の影響を受けていないでしょうか。
> C# アプリを管理者モードで実行した場合とそうでない場合とで、動作が変化しますか?
>
>>いろいろと試しているのですが、どうも原因がわかりません。
> Process Monitor でレジストリ / ファイルへのアクセス状況を追跡できないでしょうか。
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[1]: C#から外部バッチファイルを実行させるときのエラー /魔界の仮面弁士 返信無し
 
上記関連ツリー

C#から外部バッチファイルを実行させるときのエラー / inak (25/05/14(Wed) 16:46) #103672
Re[1]: C#から外部バッチファイルを実行させるときのエラー / 魔界の仮面弁士 (25/05/14(Wed) 18:16) #103673
  ├ C#から外部バッチファイルを実行させるときのエラー / PATIO (25/05/23(Fri) 10:28) #103686 ←Now
  └ Re[2]: C#から外部バッチファイルを実行させるときのエラー / PATIO (25/05/23(Fri) 11:31) #103688
    └ Re[3]: C#から外部バッチファイルを実行させるときのエラー / PATIO (25/05/26(Mon) 09:45) #103693

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信