@set @script=0 /* @echo off set @script= cscript //nolgo //:ejscript "%~dpnx0" %* exit /b */ var arg = WScript.Arguments; if (arg.length <= 1 || arg.length >= 3) { WScript.echo("Синтаксис: " + WScript.ScriptName + " [/t | /b] файл"); WScript.echo(" /t - создать текстовый дамп"); WScript.echo(" /b - собрать бинарный файл"); WScript.Quit(1); } try { var ForReading = 1, ForWriting = 2, ado = new ActiveXObject("ADODB.Stream"), fso = new ActiveXObject("Scripting.FileSystemObject"), str, itm, inFile = arg(1), outFile; switch (arg(0)) { case "/t": outFile = arg(1) + ".txt"; BinToText(inFile, outFile); break; case "/b": outFile = fso.GetBaseName(arg(1)); TextToBin(inFile, outFile); break; } } catch (e) { WScript.echo(e.message + "."); } function BinToText(binFile, txtFile) { with (ado) { Type = 2; Charset = "ibm866"; Open(); LoadFromFile(binFile); str = escape(ReadText()); Close(); } ado = null; itm = fso.OpenTextFile(txtFile, ForWriting, true); itm.Write(str.replace(/(.{80})/g, "$1\r\n")); itm.Close(); fso = null; } function TextToBin(txtFile, binFile) { itm = fso.OpenTextFile(txtFile, ForReading).ReadAll(); fso = null; with (ado) { Type = 2; Charset = "ibm866"; Open(); WriteText(unescape(itm.replace(/\r\n/g, ""))); SaveToFile(binFile, ForWriting); Close(); } ado = null; } |