2016-03-13 3 views
0

Я пытаюсь изменить свои групповые политики, заменив файл scripts.ini в C: \ Windows \ System32 \ GroupPolicy \ Machine \ Scripts с помощью пакетного файла. Пакетный файл находится на моем рабочем столе в папке с именем replacer, пользовательский файл scripts.ini находится в одной папке. Когда я щелкните правой кнопкой мыши командный файл и «Запуск от имени администратора», он не сможет найти файл scripts.ini, находящийся в той же папке. Когда я не запускаю его как администратор, он находит его, но не может заменить файл scripts.ini в групповых политиках.Проблема с заменой пакетного файла

Edit: Вот код (1 линия):

xcopy /s/y scripts.ini C:\Windows\System32\GroupPolicy\Machine\Scripts 
+1

Возможно, ваш код неверен - но мы не можем сказать, что это секрет. –

+0

Редактировать свой вопрос и разместить свой код! – Hackoo

+1

Пожалуйста, ознакомьтесь с разделом и отправьте код или не ожидайте никакой помощи здесь. Без обид –

ответ

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 
+0

О, похоже, есть еще одна проблема, я не могу перезаписать исходный файл, потому что это системный файл. Даже как администратор. –

+2

'/ s' здесь не требуется для копирования одного файла. Но использование '/ R' дополнительно к'/Y' позволяет перезаписать целевой файл с набором системных атрибутов. См. [Этот ответ] (http://stackoverflow.com/a/35829012/3074564) для получения подробной информации о том, как скопировать один файл с помощью __XCOPY__. – Mofi