本帖最后由 flashercs 于 2025-1-9 19:51 编辑
- :1
- echo beforelocal cd=%cd%
- setlocal enabledelayedexpansion
- cd "c:\asp\abc"
- echo,setlocal cd=!cd!
- cd "c:\asp\"
- echo,改变当前目录有效》!cd!
- endlocal
- echo,endlocal cd=%cd%
- exit /b
-
- :5
- cd /d "c:\asp\abc"
- echo beforelocal cd=%cd%
- setlocal enabledelayedexpansion
- echo,setlocal cd=!cd!
- cd /d "c:\asp\"
- echo,setlocal cd=!cd!》当前显示有效》脚本退出后无效
- endlocal
- echo,endlocal cd=%cd%
- exit /b
复制代码 endlocal cd始终等于beforelocal cd,没问题.
另一个脚本调用这个cdtest.bat- @echo off
- cmd /c cdtest.bat 5
- echo,cmd /c cd=%cd%
- @REM call cdtest.bat 5
- @REM echo,call cd=%cd%
- pause
复制代码 cmd /c 与 call 脚本是有区别的.cmd /c 创建新的cmd进程,call 不会创建新cmd进程 |