Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Не получается изменить параметр (http://forum.oszone.net/showthread.php?t=291137)

Reynor 17-11-2014 19:25 2430964

Не получается изменить параметр
 
Ребят, помогите пожалуйста.
Нужно что бы батник нашел файл .xml, нашел и изменил в нем параметр "parametr="переменное значение"" на "parametr="0"" При этом .xml лежит в C:\Users\%username%\Documents\My Games\NameGames\1.xml
Суть в том, что перед каждым запуском игры нужно сбрасывать этот параметр на значение 0.

Iska 17-11-2014 19:37 2430979

Reynor, упакуйте этот файл в архив и выложите на RGhost или приложите к сообщению, указав конкретное имя параметра и его путь в xml-файле.

Reynor 17-11-2014 19:46 2430985

Вложений: 2
Файлик добавил, путь C:\Users\Reynor\Documents\My Games\Far Cry 4 Только имя юзера может быть другим, и винда 7 и 8.
Имя параметра MouseAcceleration="тут любое число может быть" и нужно что бы это любое число изменилось на 0.
Загрузил еще и в архиве, если это обязательно.

Reynor 17-11-2014 19:48 2430991

Кстати после каждого перезапуска игры, параметр сам ставится на определенное значение, "только чтение" не подходит. Собственно по этому и нужен батник.

Iska 17-11-2014 21:33 2431076

Цитата:

Цитата Reynor
путь C:\Users\Reynor\Documents\My Games\Far Cry 4 Только имя юзера может быть другим, и винда 7 и 8. »

Имелся в виду путь к параметру внутри xml-файла. Кстати, «MouseAcceleration» — не параметр, а атрибут. А параметр, у коего «MouseAcceleration» является атрибутом — «ProfileSpecificGameProfile».

Коль у Вас Windows 7/Windows 8 — пользуйте PowerShell:
Код:

$sPath = "$([System.Environment]::GetFolderPath("MyDocuments"))\My Games\Far Cry 4\GamerProfile.xml"

$oXmlDocument = New-Object -TypeName System.Xml.XmlDocument

$oXmlDocument.load($sPath)
$oXmlDocument.GamerProfile.ProfileSpecificGameProfile.MouseAcceleration = "1"
$oXmlDocument.Save($sPath)


Reynor 17-11-2014 21:43 2431081

Iska, Да я вообще только начал в этом пытаться разобраться :) А как сделать что бы батник открывал PowerShell? Мне нужно, что бы я мог скинуть этот батник малому своему.

Iska 17-11-2014 21:52 2431085

Это не «батник». Смотрите, например, здесь, пп. 2, 3, 4 ;).

Reynor 17-11-2014 21:53 2431086

Iska, о, спасибки.
Я правильно понял, что особого смысла нет парится с командами cmd и bat и лучше разбираться в ps?

Iska 17-11-2014 22:02 2431092

Каждый инструмент имеет свою область применения.

Reynor 17-11-2014 22:03 2431093

А как сделать, что бы по дабл клику .ps1 не открывал текст, а выполнял команду? А то приходится, правой мышью на файл и там выбирать запуск.
Я просто сделал батник на чистку реестра и запуск .exe файла, к этим задачам хотел добавить еще и правку .xml файла, можно как то батнику прописать запуск .ps1 не через Блокнот, а через PS.?

Iska 17-11-2014 22:13 2431103

Reynor, это сделано специально, как ещё одна мера защиты. Сделать можно. Как именно — не подскажу, у меня Windows XP, а в указанных Вами ОС несколько иначе выглядит путь к смене глагола по умолчанию.

Reynor 17-11-2014 22:15 2431107

Iska, А что нужно дописать, что бы из папки с этим файлом (ps1) запускался батник?

Iska 17-11-2014 22:37 2431123

Цитата:

Цитата Reynor
Iska, А что нужно дописать, что бы из папки с этим файлом (ps1) запускался батник? »

Код:

Start-Process $env:comspec " /c ""$(Join-Path -Path (Split-Path -Path $MyInvocation.MyCommand.Definition -Parent) -ChildPath 'Имя пакетного файла.cmd')"""
P.S. Для PowerShell 3.0 и выше код будет проще. А этот — с гарантией под 2.0.

Reynor 17-11-2014 22:59 2431137

Iska, Большое спасибо за помощь!


Время: 10:19.

Время: 10:19.
© OSzone.net 2001-