我一直在尝试创buildbatch file来转换目录中的文件。 该目录是通过这个代码给出的:
@echo off rem // setting input directory :input1 set/p "inputdir=Input directory: " rem // if input is invalid,prompt again if not exist "%inputdir%" ( echo Directory does not exist. echo "%inputdir%" goto input1 )
它运作良好 – 通常。 不过,因为我以后考虑过使用环境variables,所以我也试着以pipe理员身份运行它。 但是 – 问题是,当我正常运行,它需要目录,脚本继续没有问题。 当我更多地在pipe理员中运行时,它充当“目录不存在”
它通常适用于C:和D:驱动器上的位置,这个问题出现在O:和P:驱动器上,这是由subst制作的。
任何想法如何解决这个问题? 谢谢
合并这两个批处理查询?
将文件移动到不同的目录
在批处理中显示variables
找出正在运行的batch file的文件名
如何基于PREFIXES的列表(txt)批量复制文件
获取uuidgen.exe在batch file中返回的值
正常和提升(“以管理员身份运行”)进程不共享驱动器映射(默认情况下)或子驱动器。 如果您在提升的环境中运行进程,则必须在尝试启动目标脚本之前,将驱动器映射到此处或将其映射到提升的环境中(例如,以管理员身份运行cmd.exe)。
参考: 启用UAC时,某些程序无法访问网络位置
当您以“管理员身份运行”时,当前目录不是您的想法! 只要将这些行添加到bat文件的开始部分就可以证明这一点:
@echo off echo(CD=%CD% pushd %~dp0 echo(CD=%CD% pause
所以你需要做的就是添加这行到你的bat文件之前,你引用任何文件/文件夹,我通常把它放在开始。
pushd %~dp0
从映射的网络驱动器运行时,这也将正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。