E:\TROUBLESHOOT フォルダにコンパイル済みの Fortran 90 コード "NewSourceID.exe" があります。これは、同じフォルダー内の入力ファイル MAIN.IN を使用します。同じフォルダー E:\TROUBLESHOOT にあるバッチ スクリプト run_sa.BAT を使用して、この実行可能ファイルを実行します。このバッチ スクリプトは、実行時に別の VB コードによって生成され (これは要件であり、削除することはできません)、バッチ スクリプトは次のようになります。
"E:\TROUBLESHOOT\NewSourceID.exe" "E:\TROUBLESHOOT\MAIN.IN".
2 つのシナリオがあります。 1. E:\TROUBLESHOOT フォルダに移動し、バッチ スクリプト run_sa.BAT をダブルクリックすると、NewSourceID.exe は問題なく正しく実行されます。これは、パス C:\WINDOWS\system32\command.exe を示すコマンド プロンプト ウィンドウで実行されます。
- 実行時にバッチ スクリプトを生成して VB スクリプトから同じものを実行すると、次のエラーが発生します。
" C:\Documents and Settings\epsuser\My Documents>"E:\TROUBLESHOOT\NewSourceID.exe" "E:\TROUBLESHOOT\MAIN.IN" forrtl: 重大 (29): ファイルが見つかりません、ユニット 31、ファイル C: \Documents and Settings\eps user\My Documents\MAIN.IN
コードはパス C:\Documents and Settings\epsuser\My Documents\MAIN.IN で入力ファイル MAIN.IN を検索しようとしますが、これはファイルを検索するための正しいパスではありません。これは、NewSourceID.exe を変更したものに置き換えたときに発生しました。以前のコードは、VB からでも次のパスで正しく実行されていました。C:\WINDOWS\system32\command.exe -E:\TROUBLESHOOT\run_sa.BAT. これはどのように行うことができますか?