amel27, Добрый день, пока ждал подсказки, наваял на JS, вот такого плана
Код:
![Выделить весь код](images/misc/selectcode.png)
CompareFiles()
function CompareFiles()
{
var Stream = new ActiveXObject("ADODB.Stream"),
FSO = WScript.CreateObject("Scripting.FileSystemObject"),
Args = WScript.Arguments;
if (Args.Length == 0)
WScript.echo("Запущен скрипт без указания аргументов командной строки");
else if(Args.Length != 2)
WScript.echo("Количество аргументов командной строки должно быть равно 2");
else
var fso = new ActiveXObject("Scripting.FileSystemObject"),
filesPath = Args.Item(0),
filesPath1 = Args.Item(1);
if(!fso.FileExists(filesPath))
{
WScript.echo("Файла для сравнения'" +Args.Item(0)+ "' нет на диске")
return; }
else if(!fso.FileExists(filesPath1))
{
WScript.echo("Файла для сравнения '" +Args.Item(1)+ "' нет на диске")
return;
}
{
WScript.echo("Начинаю проверку файлов на идентичность");
Stream.Type = 2;
Stream.Open();
Stream.LoadFromFile(FSO.GetAbsolutePathName(Args(0)));
var File1 = Stream.ReadText();
Stream.Close();
Stream.Open();
Stream.LoadFromFile(FSO.GetAbsolutePathName(Args(1)));
var File2 = Stream.ReadText();
Stream.Close();
if (File1 == File2) WScript.echo("Файлы идентичны");
else WScript.echo("Файлы неидентичны");
} }
Теперь возник один маленький вопрос.
Сейчас, если в качестве первого аргумента введен несуществующий файл, то в консоли выдается сообщение, что файла +Args.Item(0)+ нет на диске, если же введен в качестве второго аргумента несуществующий файл, то выдается сообщение, что файла +Args.Item(0)+ нет. Как бы сделать так, чтобы выводилось сообщение об отсутствии либо 2-х файлов сразу (если их действительно нет), либо первого, либо второго, в зависимости от заданных аргументов коммандной строки.