コマンドプロンプトウィンドウ内から次のバッチスクリプトを実行して、特定のフォルダに移動しています。コマンドプロンプトのバッチファイルの現在のディレクトリを切り替えるのがSETLOCALコマンドを使用して動作しないのはなぜですか?
@echo off
SETLOCAL
set ispyfolder=true
if not "%~1"=="py" if not "%~1"=="pyfolder" set ispyfolder=false
if "%ispyfolder%"=="true" (
C:
cd C:\Users\ankagraw\AppData\Local\Continuum
)
SETLOCALがある場合(2行目)、このコードは機能しません。現在のディレクトリは、コマンドプロンプトウィンドウ内からバッチファイルを実行する前と同じです。この行を削除すると、スクリプトは正常に動作します。
私はスクリプトにgo2
という名前を付けました。
go2 pyfolder
私は誤って地球環境変数を触れないようにSETLOCALを使用したい:だから私はこの方法でそれを呼びたいです。
私は非常に単純な間違いをしていると思います。しかし、私はスクリプティングには新しいので、それを理解することはできません。
「動作しません」という質問はありません。 **スタックオーバーフローに関するよくある質問**を参照してください。 – SteveFest