|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Найти файлы по маске и заменить в них строки |
|
|
CMD/BAT - Найти файлы по маске и заменить в них строки
|
Новый участник Сообщения: 14 |
Всем привет.
Давно читаю форум и часто пользуюсь батниками, но ума не дам как дописать следующее: Есть директория E:\Steam\userdata\ в ней множество др. директорий, в каждой из которых есть файл с именем sharedconfig.vdf Мне необходимо в каждом найденном по имени "sharedconfig.vdf" файле заменить строку "cloudenabled" "1" на "cloudenabled" "0" (строка находится в рандомном месте как по вертикали файла, так и по горизонтали) Начало простое: Прошу, помогите закончить скрипт. |
|
Отправлено: 18:54, 09-06-2018 |
Crazy Сообщения: 1227
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Параметры есть в любом языке, но вот справка аналогичная к ним... где ещё есть такая же? Ну, я имею в виду wsh и cmd, для сравнения... а про функционал можно и не упоминать даже... Кроме того, где есть ещё такая реализация конвейеров, причем с объектами вместе? Цитата Iska:
![]() Если бы с WSH было бы всё так радужно, то никакой монад на свет и не появился бы... Да и портянки кодов можно посравнивать при аналогичных задачах... powershell, явно выиграет. |
||
------- Отправлено: 13:06, 10-06-2018 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 93
|
Профиль | Отправить PM | Цитировать Добрый день!
Хотел адаптировать привелденный здесь скрипт для своих нужд, но что-то не получается.. Нужно во всех файлах Description поменять номер версии находящийся в теге <targetVersion>14.4.0</targetVersion> dir "D:\WINDOWS\" -rec -inc 'Description'|%{ (gc $_.fullname -enc utf8 -raw) -replace '(?<=\"<targetVersion>\"\s*\")14.4.0(?=\")','14.4.1'|` set-content $_.fullname -enc utf8 } Прошу помочь с исправлением скрипта! Нашел еще такой пример, но тоже не работает.. $sSourceFolder = 'D:\WINDOWS' $sSourceFileName = 'Description' $sString4Found = '14.4.0' $sString4Replace = '14.4.1' if(Test-Path -Path $sSourceFolder -PathType Container) { Get-ChildItem -Path $sSourceFolder -Filter $sSourceFileName -File -Recurse | ForEach-Object -Process { $sContent = Get-Content -Path $_.FullName -Encoding Oem if($sContent -icontains $sString4Found) { Write-Host $_.FullName $sContent.Replace($sString4Found, $sString4Replace) | Set-Content -Path $_.FullName -Encoding Oem } } } else { Write-Host "Can't find source folder $sSourceFolder." -ForegroundColor Red } |
Отправлено: 12:05, 07-06-2019 | #22 |
Crazy Сообщения: 1227
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 13:03, 07-06-2019 | #23 |
Пользователь Сообщения: 93
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
|
|
Отправлено: 13:10, 07-06-2019 | #24 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Возможно. У Вас какая версия ОС?
|
Отправлено: 14:06, 07-06-2019 | #25 |
Пользователь Сообщения: 93
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 15:15, 07-06-2019 | #26 |
Пользователь Сообщения: 93
|
Профиль | Отправить PM | Цитировать Вроде установил более новую версию powershell (7.0.0-preview.1), при запуске теперь нет тех ошибок, но и замена все равно не происходит.
|
Отправлено: 16:14, 07-06-2019 | #27 |
Crazy Сообщения: 1227
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 17:59, 07-06-2019 | #28 |
Пользователь Сообщения: 93
|
Профиль | Отправить PM | Цитировать YuS_2, благодарю, теперь работает.
|
Отправлено: 18:38, 07-06-2019 | #29 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Можно ли найти файлы созданные за сегодняшний день и дать отчет о них | ufooo | Скриптовые языки администрирования Windows | 12 | 20-04-2016 01:49 | |
CMD/BAT - Найти в подкаталогах файлы по маске и вывести в текст список тех, у которых первые 2 | surgutfred | Скриптовые языки администрирования Windows | 2 | 27-01-2016 19:07 | |
CMD/BAT - [решено] Отделить слово от строки по маске | blackeangel | Скриптовые языки администрирования Windows | 2 | 11-11-2015 23:07 | |
VBS/WSH/JS - [решено] Поиск строки по маске в txt файле и замена всей строки из InputBox | ultrarare | Скриптовые языки администрирования Windows | 11 | 03-07-2013 14:37 | |
CMD/BAT - [решено] Нужно найти все файлы *.log в папке dir и подпапках и заменить на файлы нулевой длины | dclxvi | Скриптовые языки администрирования Windows | 4 | 04-07-2012 21:28 |
|