2017-10-05 84 views
0

每当我尝试以管理员身份或域管理员身份运行批处理文件时,它都不会加载或读取任何外部txt或日志文件,而是说它无法被发现或批次根本不打开。读取txt并登录高位批处理文件

del test.txt 

Elevated Batch是否有任何方法来读取或加载txt和日志文件?

注意:txt或日志文件与批处理文件位于同一文件夹中。

编辑,谢谢马特!

谢谢!

+3

除非您向我们展示代码实际在做什么,否则我会假设您已将它指向映射驱动器或其他东西。提升不会影响读取数据的能力。 – Matt

+0

我编辑了代码块。 txt或日志文件与批处理文件位于同一目录中。但是,每当我以管理员身份运行批处理文件时,都无法读取txt文件。谢谢马特! –

+1

当你提升一个可执行文件时,默认的“start in”目录会自动设置为“%systemroot%\ system32”,这是不能改变的(指定不同的“start in”目录会被忽略)。这是设计。 –

回答

0

解决此问题的最简单方法是使用语句启动脚本主体以将当前目录更改为批处理文件的目录。

@Echo Off 
CD /D "%~dp0" 
If Exist "test.txt" Del "test.txt" 

或者直接提供文件的具体位置。

@Echo Off 
If Exist "%~dp0test.txt" Del "%~dp0test.txt" 

%0是一个特殊的变量,它引用脚本本身的完整路径。 %~dp0扩大到它的驱动器和路径,,它以一个尾随后斜杠笨拙地结束。

相关问题