我试图通过使用批处理文件替换C:\ Windows \ System32 \ GroupPolicy \ Machine \ Scripts中的scripts.ini文件来更改我的组策略。批处理文件位于我的桌面上名为replacer的文件夹中,自定义scripts.ini位于同一文件夹中。当我右键单击批处理文件和"以管理员身份运行"它突然无法找到同一文件夹中的scripts.ini文件。当我不以管理员身份运行时,它会找到它,但无法替换组策略中的scripts.ini文件。
修改 这是代码(1行):
xcopy /s/y scripts.ini C:\Windows\System32\GroupPolicy\Machine\Scripts
答案 0 :(得分:2)
通过双击运行批处理脚本时,当前目录将是脚本所在的文件夹。
但是当您通过鼠标右键单击管理员运行脚本时,当前目录就是其他内容,通常为C:\wINDOWS\system32
。
您的脚本可以使用%~dp0
来获取脚本安装位置的完整路径,因此您只需在源文件前添加该路径:
xcopy /s/y "%~dp0scripts.ini" C:\Windows\System32\GroupPolicy\Machine\Scripts
如果您有其他依赖当前目录的命令,那么我建议您使用PUSHD来改变当前目录
pushd "%~dp0"
xcopy /s/y scripts.ini C:\Windows\System32\GroupPolicy\Machine\Scripts