• 締切済み

フォルダShift+右クリでのcmdについて

任意のフォルダをShift押下+右クリックの『コマンドウィンドウをここで開く』 で開いて、 popd すると %SystemRoot%\System32 に行くみたいですが、この動作ってバッチファイルに影響しないのでしょうか。 一応、バッチ先頭で pushd %~dp0 して、末尾でpushd空打ちしてスタックを見て、残っていたら無くなるまでpopd繰り返す処理を入れてますが、問題なくバッチフォルダに戻ってから終了しているみたいですが。何か懸念事項あったら教えてください。環境は(関係あるか分かりませんが)win7x64UltimateSP1です。

みんなの回答

  • notnot
  • ベストアンサー率47% (4903/10364)
回答No.1

どんな影響を心配しているのでしょうか? pushdと対応しないpopdを実行した場合、通常は何も起こりませんが、お書きの方法で起動したCMDからそういうpushdと対応しないpopdを実行するようなバッチファイルを実行すると、実行結果が変わってきますが、そもそも、pushdと対応しないpopdを実行するのはおかしいですよね?(バグとまでは言いませんが)

bigcalc4win
質問者

お礼

バッチ最後でpopdを数百回とかしとけば問題ないかと思っていたのですが、そもそもpopdとはそういう使い方をするものではないということですね。 回答ありがとうございました。

bigcalc4win
質問者

補足

色々試してみたところバッチ先頭でsetlocalしておけばいいみたいです。 endlocalもしておけば、バッチ内でも、%SystemRoot%\System32まで行ってしまうことは無くなるみたいです。

すると、全ての回答が全文表示されます。

関連するQ&A