Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Замена текста из другого файла

Ответить
Настройки темы
VBS/WSH/JS - [решено] Замена текста из другого файла
ul9 ul9 вне форума

Пользователь


Сообщения: 122
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем привет!
Решила снова прибегнуть к помощи форумчан
Попробую описать подробно проблему. Есть папка (test) с файлами и подпапками, содержащими разные файлы. Созданы дополнительно два текстовых файла. Из первого файла берём образец (многострочный текстовый файл), т.е. то, что надо найти в файлах папок test. А второй файл это то, на что нужно заменить найденное. Хотелось бы, чтобы можно было задавать маску поиска (strMask = "*.txt")

Отправлено: 01:58, 23-10-2012

 
ul9 ul9 вне форума Автор темы

Пользователь


Сообщения: 122
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо Вам. А как его использовать? Приведите пожалуйста пример.
Код: Выделить весь код
Sub Usage()
	WScript.Echo "Usage: cscript.exe //nologo " & WScript.ScriptName & " " & _
		"/FolderForScan:<folder> " & _
		"/FileExtension:<extension> " & _
		"/FileWhatFind:<file> " & _
		"/FileReplaceBy:<file>"
End Sub

Отправлено: 00:05, 24-10-2012 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата ul9:
А как его использовать? »
Если его запустить — он напишет, как:
Код: Выделить весь код
cscript.exe //nologo Script.vbs /FolderForScan:<folder> /FileExtension:<extension> /FileWhatFind:<file> /FileReplaceBy:<file>
Цитата ul9:
Приведите пожалуйста пример. »
Пример:
Код: Выделить весь код
cscript.exe //nologo "c:\My Scripts\Script.vbs" /FolderForScan:"E:\Песочница\0192" /FileExtension:"htm" /FileWhatFind:"E:\Песочница\0191\Найти это.txt" /FileReplaceBy:"E:\Песочница\0191\заменить этим.txt"
Естественно, для текущего каталога указывать пути не обязательно, равно как и заключать пути в кавычки, если в них нет пробельных символов. Если Вы не используете что-либо наподобие Far Manager'а — проще всего вписать это в пакетный файл.
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:41, 24-10-2012 | #12

ul9 ul9 вне форума Автор темы

Пользователь


Сообщения: 122
Благодарности: 0

Профиль | Отправить PM | Цитировать


А он почему-то в подпапках не ищет... Может я что-то не так делаю.

Всё, разобралась. Причина была в путях. Всё работает отлично. Большое спасибо!

Последний раз редактировалось ul9, 24-10-2012 в 01:15.


Отправлено: 01:09, 24-10-2012 | #13

ul9 ul9 вне форума Автор темы

Пользователь


Сообщения: 122
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, очень уж ваш скрипт хорош и удобен!
Я хотела бы ещё спросить у вас. Возможно ли задать условие для запуска нужного кода?
Код: Выделить весь код
cscript.exe //nologo "c:\My Scripts\Script.vbs" /FolderForScan:"E:\Песочница\0192" /FileExtension:"htm" /FileWhatFind:"E:\Песочница\0191\Найти это.txt" /FileReplaceBy:"E:\Песочница\0191\заменить этим.txt"
Запускаем скрипт и появляется msgbox с кнопками 1, 2, 3
В зависимости от того, какую нажали происходит выполнение нужного куска кода.
Код: Выделить весь код
if 1
cscript.exe //nologo "c:\My Scripts\Script.vbs" /FolderForScan:"E:\Песочница\0001" /FileExtension:"htm" /FileWhatFind:"E:\Песочница\01\Найти это.txt" /FileReplaceBy:"E:\Песочница\01\заменить этим.txt"

if 2
cscript.exe //nologo "c:\My Scripts\Script.vbs" /FolderForScan:"E:\Песочница\0002" /FileExtension:"htm" /FileWhatFind:"E:\Песочница\02\Найти это.txt" /FileReplaceBy:"E:\Песочница\02\заменить этим.txt"

if 3
cscript.exe //nologo "c:\My Scripts\Script.vbs" /FolderForScan:"E:\Песочница\0003" /FileExtension:"htm" /FileWhatFind:"E:\Песочница\03\Найти это.txt" /FileReplaceBy:"E:\Песочница\03\заменить этим.txt"
Конечно можно создать три батника и запускать каждый, в зависимости от нужды. Но может есть более элегантное решение

Отправлено: 05:18, 26-10-2012 | #14


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата ul9:
Конечно можно создать три батника и запускать каждый, в зависимости от нужды. Но может есть более элегантное решение »
Это вполне нормальное решение для повторного использования кода. Аналогичного результата можно добиться создав три ярлыка с соответствующей командной строкой в каждом.

Отправлено: 07:14, 26-10-2012 | #15

ul9 ul9 вне форума Автор темы

Пользователь


Сообщения: 122
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Это вполне нормальное решение для повторного использования кода. Аналогичного результата можно добиться создав три ярлыка с соответствующей командной строкой в каждом. »
На самом деле их значительно больше (около 15). Не хотелось бы на рабочем столе выстраивать их все в ряд

Отправлено: 15:18, 26-10-2012 | #16


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Создайте папку на Рабочем столе, в Главном меню, создайте панель на Панели задач. Туда и поместите ярлыки или пакетные файлы.

Отправлено: 17:30, 26-10-2012 | #17

ul9 ul9 вне форума Автор темы

Пользователь


Сообщения: 122
Благодарности: 0

Профиль | Отправить PM | Цитировать


А через msgBox условие возможно реализовать или там только yes и no?

Отправлено: 19:42, 26-10-2012 | #18


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата ul9:
А через msgBox условие возможно реализовать или там только yes и no? »
Доступно максимум три кнопки, коллега.

Отправлено: 20:47, 26-10-2012 | #19

ul9 ul9 вне форума Автор темы

Пользователь


Сообщения: 122
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Доступно максимум три кнопки, коллега. »
А если в cmd вывести?

echo 1 - green
echo 2 - red
и т.д.

Вводишь число и запускается скрипт. Я бы сама написала, но как эти условия задать без понятия, да ещё и связать с кнопками. Имею только общие представления по аналогии с яваскриптом.

Отправлено: 21:00, 26-10-2012 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Замена текста из другого файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Замена текста в txt Starter1 Скриптовые языки администрирования Windows 17 04-08-2022 18:26
CMD/BAT - [решено] Поиск и замена текста ajakzs Скриптовые языки администрирования Windows 18 08-08-2013 16:10
2007 - [решено] Word вставка одного текста вместо другого 3DpacTe Microsoft Office (Word, Excel, Outlook и т.д.) 5 11-05-2012 14:36
.NET - [решено] Получение Текста Из Edita Другого Приложения ( C# ) LilLoco Программирование и базы данных 1 28-06-2010 13:12
Офис и Текст - Замена текста Котяра Программное обеспечение Windows 1 29-09-2008 13:51




 
Переход