Windows批处理更改当前工作路径

本文介绍了在Windows批处理中如何更改当前工作路径,特别是在以管理员身份运行时遇到的问题。通过设置变量base_dir获取批处理文件的绝对路径,并使用pushd和popd命令切换工作目录,确保批处理正确执行并打开指定文件。此解决方案适用于系统定时任务等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天由于工作需要在研究批处理添加系统定时任务,由于本人用的是WIN7系统,由工作路径产生了一些问题,不知道XP是不是也有这个问题,首先,来做个试验。

在我的D盘Test目录下有两个文件,一个test.txt,一个test.bat,如下图所示:

test.bat内容如下:

 

目的很简单,就是想通过批处理test.bat打开test.txt文件。

1、直接双击test.bat,一切正常,test.txt如我所愿被打开了,并且输出了当前工作路径D:/Test。

2、右击test.bat,选择以“管理员身份运行”,这时现象出来了,屏幕输出当前工作路径是C:/Windows/System32,也就是cmd.exe的路径,并用test.txt也没有被打开。

好,问题出来了,就是当前工作路径在作怪。

要解决这个问题,首先要获取当前test.bat的路径,代码如下:

这时,%base_dir%已经存储了当前test.bat的绝对路径了,接下来就是要将运行时的当前工作路径更换为%base_dir%就行了,代码如下:

这样修改之后test.bat的总体代码如下:

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值