@echo off
set /p str=%1
:MSTART
set /p ch=%str:~0,1%
IF '%ch%' == '.' GOTO MEQUAL
echo %ch%
goto MEND
:MEQUAL
call cd..
set /p str=%str:~1%
goto MSTART
:MEND
目的の出力は、バッチ ファイルを "mcd ..." として実行すると、3 つのディレクトリに戻る必要があることです。しかし、 @echo on または @echo off に応じて実行中に Echo is off/ Echo is on エラーが発生します。この問題を解決するにはどうすればよいですか
これはうまくいくようです
@echo off
set str=%1
:MSTART
set ch=%str:~0,1%
IF '%ch%' == '.' GOTO MEQUAL
goto MEND
:MEQUAL
call cd..
IF NOT [str] == [] set str=%str:~1%
goto MSTART
:MEND
しかし、エラー '1' は、コンパイル後の現時点では予期されていませんでした。この行が原因だと思います IF NOT [str] == [] set str=%str:~1% しかし、これを修正するにはどうすればよいですか?