2016-08-04 99 views
0

我有一个简单的批处理文件,它添加注册表与reg add命令。批处理文件与reg add命令从网络执行

reg add "HKLM\SOFTWARE\test\test" /f /v "MainDir" /t REG_SZ /d "test" 

当我从一个网络驱动器运行巴赫一直很好,但没有注册表被添加。当我将该批次复制到我的桌面并运行它时,它可以很好地工作。

我试图用PUSHD但不会帮助,只是什么工作是创建一个快捷方式,在弹出的快捷添加%TEMP%,开始在

+0

当你在网络驱动器上运行时,你可以在'reg'命令后面加一个'pause'吗?网络驱动器是安装在驱动器盘符上还是访问它的wia UNC?是否有一些安全策略可以阻止您的网络驱动器上的文件执行? –

+0

您是否尝试以[管理员身份]运行它(http://stackoverflow.com/questions/38642927/simple-method-to-run-a-batch-as-administrator-using-javascript/38650025#38650025)? – sambul35

+0

我已经使用PAUSE命令来查看输出,并且REG大喊“操作成功完成”,因此我说每一个看起来都很好。它映射到一封信,我不知道任何可以使用的安全策略。这真的很奇怪的问题。 – Frodo

回答

0

我解决这件事。这是如此出乎意料。问题是我一直在窗户上使用的司令员。每当我从指挥官那里运行批处理,它都不起作用,当我从资源管理器或其他东西运行它时,它就可以。 Soooo很奇怪。指挥官有管理权,所以我不知道为什么它不工作。感谢所有的帮助。 :)

+0

您正在使用的“指挥官”很可能是一个32位应用程序。因此,双击批处理文件会导致使用32位'cmd.exe'处理批处理文件。这会导致将注册表值与32位'reg.exe'一起添加到'HKLM \ SOFTWARE \ Wow6432Node \ test \ test'。所以增加这个值是成功的,但是你用错误的密钥来查看64位'regedit'。请参阅[受WOW64影响的注册表项](https://msdn.microsoft.com/en-us/library/windows/desktop/aa384253.aspx)和[文件系统重定向器](https://msdn.microsoft.com/ en-us/library/windows/desktop/aa384187.aspx)了解更多详情。 – Mofi

+0

你是绝对正确的。感谢您的解释! – Frodo