2016-08-04 117 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