Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Новый участник


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

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


amel27, Добрый день, пока ждал подсказки, наваял на JS, вот такого плана
Код: Выделить весь код
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-х файлов сразу (если их действительно нет), либо первого, либо второго, в зависимости от заданных аргументов коммандной строки.

Отправлено: 11:49, 10-06-2010 | #3