0

このコマンドは、Windows XP で 5 年以上問題なく動作している大きなバッチ ファイルの途中にありますが、Windows 7 (32 ビット) で実行すると、「MyBatch.bat は内部/外部コマンドとして認識されていません」と報告されます。 、操作可能なプログラムまたはバッチ ファイル".

メイン バッチ ファイルを編集して行の前に 'cd' または 'dir' を付けると、MyBatch.bat が存在するディレクトリが表示されますが、cmd はそれを見つけることができません。

呼び出しを機能させるために私が見つけた唯一の方法は、行の前に「set path=%path%;%cd%」を付けることですが、これは MyBatch.bat の場所がパスにあるためにのみ機能します。これは、メイン バッチ ファイルの残りの部分については非現実的な解決策です。他の場所では cmd /C を使用して.exeファイルを呼び出すため、代わりに「call MyBatch.bat ...」を使用できません。

私のシステムでは、レジストリで「cmd」が管理者モードに設定されており、コマンド拡張機能が有効になっています (メイン バッチ ファイルが行う処理の一部には管理者モードが必要です)。また、cmdをWINXPSP3互換モードに設定しようとしましたが、違いはありませんでした。

Win7 バージョンの cmd は %path% のみを使用して物事を検索し、実行元のディレクトリを調べていないかのようですが、WinXP バージョンはそうしています。この制限がどこにも表明されているのを見たことがありません。

何かを誤解したり、手順やレジストリ フラグを見逃していませんか? WinXP で行ったように、Win7 でも cmd を機能させる方法はありますか?

4

3 に答える 3