Системное администрирование

Нужна помощь с созданием скрипта под windows

Доброго время суток товарищи. Нужна помощь с созданием скрипта.
Смысл таков. На С диске есть файл *.ini, он может быть как в корне, в папке, так и в в юзер профайле. Нужно что-бы скрипт его нашёл и поменял в нём строку, а если строчка уже изменена то ничего не делал бы. То есть есть где то файл "хрень.ini". В нём строчка "кнопка=не кнопка". Скрипт находит этот файл, находит строчку и меняет её на "кнопка=кнопка", ну и сохраняет всё это дело. А если строчка уже изменена то ничего не делает. Вот как то так. У гугла спрашивал, но видимо не так как он хочет и меня на Линукс команды выкидывает, а мне под Виндовс надо.
Просто есть множество компов и надо время от времени это изменять, а в ручную уж сил нету. А так бы в автозагрузку закинул и при включении он смотрит делает своё дело и юзер не парится и я доволен :)
СПАСИБО за любую помощь!
в поисковой строке забить:

wscript поиск файла по имени

или

ps поиск файла по имени

а потом ещё забить:

wscript поменять строку в файле

или

ps поменять строку в файле

Разве так трудно?
Андрей Тренихин
Андрей Тренихин
90 034
Лучший ответ
Шынгыс Ыскаков Вот теперь уже нет. Спасибо за помощь и правильное направление.
Поиском можно пренебречь. Надеюсь, файл не меняет своего расположения

Для замены строки в файле есть утилиты sed/awk Ну и скрипты для powershell vbs (WHS). Смотреть в сторону regexp
Игорь Шашков
Игорь Шашков
50 621
Шынгыс Ыскаков Поиск всё же нужен, так как на разных компах он в разных папках. Но спасибо за направление!
никто не будет тут за спасибо скрипт писать
Шынгыс Ыскаков Хоть пошлите в нужном направлении, как у гугла спросить то правильно, дальше я уж сам разберусь по по шаблонам всяким.
так как тут раздел системное администрирование, могу добавить, что юзверы не должны работать под админом, так же как и у нужных файлов просто должен быть настроен правильно уровень доступа, то есть юзверям нельзя удалять/редактировать эти файлы. а скрипты у сис. админов не для таких задач, чтобы за каким-то там файлом следить
Добрый день! Я могу предложить вам следующий скрипт на Python для решения вашей задачи:

 import os 

# путь к файлу
file_path = ""

# список возможных расположений файла
locations = [
os.path.join(os.environ["USERPROFILE"], "хрень.ini"),
os.path.join("C:\\", "хрень.ini")
]

# поиск файла в списке расположений
for loc in locations:
if os.path.isfile(loc):
file_path = loc
break

# если файл не найден, выход из скрипта
if file_path == "":
print("Файл не найден.")
exit()

# открытие файла и чтение содержимого
with open(file_path, "r") as f:
content = f.readlines()

# поиск и изменение строки, если она найдена
for i, line in enumerate(content):
if "кнопка=не кнопка" in line:
content[i] = "кнопка=кнопка\n"
break

# если строка не найдена, выход из скрипта
if "кнопка=кнопка\n" not in content:
print("Строка не найдена.")
exit()

# запись измененного содержимого в файл
with open(file_path, "w") as f:
f.writelines(content)

print("Строка изменена.")


Вы можете сохранить этот скрипт в файле с расширением ".py" и запустить его из командной строки. Он найдет файл "хрень.ini" в одном из возможных расположений, заменит строку "кнопка=не кнопка" на "кнопка=кнопка" и сохранит изменения. Если файл не будет найден или строка уже изменена, скрипт выведет соответствующее сообщение.

После того, как вы убедитесь в корректной работе скрипта, вы можете добавить его в автозагрузку, чтобы он запускался при включении компьютера.
Шынгыс Ыскаков Большое спасибо за помощь!
Игорь Шашков Родной, а Пайтон на его компы кто будет ставить?
Про то chatGPT рассказать забыла
Шынгыс Ыскаков Да я уже и с powershell разбираюсь и заодно смотрю какой python2exe компилятор. Всем спасибо за всё! Думал будет как раньше, бат файл по быстрому создал и получай конфетку :) А тут вот оно чё Михалыч