gpt4 book ai didi

shell - 如果 bat 文件突然终止,则恢复默认工作目录

转载 作者:行者123 更新时间:2023-12-04 02:43:50 25 4
gpt4 key购买 nike

我有一个场景,在执行批处理文件期间,它导航到不同的文件夹(比如“../asdf”);并且在执行结束时,它将当前工作目录设置为用户调用 .bat 文件的同一文件夹。

但是如果用户在批处理完成之前终止了批处理,那么 cmd 会显示当前的工作目录(比如“../asdf”)。

但就我而言,我需要将工作目录恢复为默认/预定义的目录。是否可以?

  • 批处理文件是我写的,所以我可以修改它。
  • CMD 是通过我可以控制的 CMD 的桌面快捷方式打开的;因此可以在那里完成工作目录或将参数传递给 CMD 等属性。
  • 最佳答案

    在您的批处理脚本中使用 setlocal封装批处理 session 的运行环境。如果用户在您之前终止脚本 cdpopd要返回,您的脚本仍将退出它启动的目录中。这是一个简短的测试:

    @echo off
    setlocal
    pushd c:\Users
    cd
    exit /b

    输出:
    C:\Users\me\Desktop>test.bat
    c:\Users

    C:\Users\me\Desktop>

    注意我没有 popdcd %userprofile%\Desktop ,但脚本退出后我仍然回到我的桌面。

    此外, setlocal防止您使用孤立的变量来破坏您的环境,这些变量在批处理脚本之外没有任何意义。这只是一个好习惯。在控制台输入 help setlocal了解更多信息。

    关于shell - 如果 bat 文件突然终止,则恢复默认工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15656927/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com