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

Показать сообщение отдельно

Ветеран


Contributor


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

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


ruslaw,
Вот еще вариант. Объединить все файлы (батники, WSH - скрипт) в один. Единственное, я наугад (подробно о её функционале не в курсе) переписал процедуру замены подстрок из VBS в JS.
Код: Выделить весь код
@set @E=1; /*

@Echo Off
cls

Call :Indexer
Call :Replace

pause
GoTo :Eof

:Indexer
	chcp 1251
 	Set "BoxIn=E:\test"
 	Set "LogExt=txt"
 	Call :DirTxt "%BoxIn%" 
 	For /F "usebackq delims=" %%d In (`Dir "%BoxIn%" /b /A:D /S 2^>nul`) DO Call :DirTxt "%%d"
	chcp 866
 	GoTo :Eof
 	:DirTxt
 	rem:: заменяем %~nx1 на 1ndex и получаем индексный файл с названием index.html вместо html-файла названного именем папки
	Set "OutLog=index.%LogExt%"
 	>"%~1\%OutLog%" (For /F "usebackq delims=" %%f In (`Dir "%~1" /b /A:-D-H 2^>nul`) DO If /I Not "%%f"=="%OutLog%" @Echo %%f
	chcp 866
GoTo :Eof

:Replace
	Cscript //NoLogo /E:jscript "%~dpnx0" "E:\path-1\index.txt" "заменяемый текст1" "заменяющий текст1"
	rem .............................
	Cscript //NoLogo /E:jscript "%~dpnx0" "E:\path-N\index.txt" "заменяемый текстN" "заменяющий текстN"
GoTo :Eof

*/
var oArg = WScript.Arguments;

if (oArg.Count() != 3) {
	WScript.Echo("Error! Invalid number of arguments!");
	WScript.Quit(240);
}
var FText=oArg(0);
var str1=oArg(1);
var str2=oArg(2);

var FSO=WScript.CreateObject("Scripting.FileSystemObject");

var InFile;
try {InFile = FSO.OpenTextFile(FText,1);}
catch (e) {
   if (e !=0 ) {
	WScript.Echo("Error! " + FText + "  " + e.description);
       	WScript.Quit(240);
     }
}
var TextAll = InFile.ReadAll();
InFile.Close();

TextAll=TextAll.replace(new RegExp(oArg(1),'g'),oArg(2));

InFile = FSO.OpenTextFile(FText,2);
InFile.Write(TextAll);
InFile.Close();

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 15-01-2018 в 19:00.


Отправлено: 16:30, 15-01-2018 | #4