您的位置:首页 > 其它

批处理管理员运行当前路径问题

2015-04-09 10:24 176 查看
来自http://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1542032

批处理管理员运行以后怎么调转到相对路径的当前目录

[b]问题描述:[/b]

批处理管理员运行以后怎么调转到相对路径的当前目录
比如 我现在
D:\123\00.cmd
D:\123\1.txt

批处理内容:
copy 1.txt 2.txt

管理员运行的话会默认系统目录。。。

copy就必须使用绝对路径,我想知道怎么才是可以使用相对路径

我是管理员身份下,上面只是举例.不要跟我说这个命令不需要管理员运行。这个我知道!只是举例!

[b]最终解决办法:[/b]

%CD%是不行的
%CD%的变量指的是当前目录
管理员权限执行cmd的情况下,当前目录会变更为%windir%\system32,那么当前%CD%的值就是%windir%\system32
这里应该用%~dp0
%~dp0的变量的值是bat或者cmd脚本所在的路径
写法的话可以先cd到脚本所在的目录,然后再copy,或者直接copy:
写法1:
@echo off
cd "%~dp0"
copy 1.txt 2.txt

写法2:
@echo off
copy "%~dp01.txt" "%~dp02.txt"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: