|
|
近期回帖中遭遇一则怪相,在win8.1,win10系统可复现,用以下5段示例代码说明,唯独其中第5段代码中最后的 cd /d "c:\temp\" 失效,即脚本退出后当前目录仍是 "c:\temp\xxx"
以下测试代码存为 test.bat 可在命令行直接用 test.bat n 来测试各段代码运行之后当前目录的结果,其命令行参数 n=1-5
- @echo off &if "%~1"=="" (goto :5) else goto :%~1
- :1
- setlocal enabledelayedexpansion
- cd "c:\temp\xxx"
- echo,!cd!
- cd "c:\temp"
- echo,改变当前目录有效》!cd!
- endlocal
- exit/b
- :2
- setlocal enabledelayedexpansion
- cd "c:\temp\xxx"
- echo,!cd!
- cd "c:\temp"
- echo,改变当前目录有效》!cd!
- endlocal
- exit/b
- :3
- setlocal enabledelayedexpansion
- cd "c:\temp\xxx"
- echo,!cd!
- endlocal
- cd "c:\temp"
- echo,改变当前目录有效》%cd%
- exit/b
- :4
- cd "c:\temp\xxx"
- setlocal enabledelayedexpansion
- echo,!cd!
- endlocal
- cd "c:\temp"
- echo,改变当前目录有效》%cd%
- exit/b
- :5
- cd /d "c:\temp\xxx"
- setlocal enabledelayedexpansion
- echo,!cd!
- cd /d "c:\temp"
- echo,!cd!》当前显示有效》脚本退出后无效
- endlocal
- exit/b
复制代码 |
评分
-
查看全部评分
|