Serge Yolkin
|
Posted: Sun Dec 04, 2011 13:08 Post subject: |
|
|
keiran_green
Не навязываю свое вИдение, отформатил скрипт для собственного удобства (чтобы прочитать): Code: | var
attr=new Array(17,18,19,20,21,22,23,24,25,26,48,49,50,51,55,56,57,58,null),
autorun_check=0, //1 - будет проверять наличие файл autorun.inf
autorun_exist,
AutorunName,
d,
f,
fFldr,
fFldrLnk,
FldrCnt=0,
fso=new ActiveXObject('Scripting.FileSystemObject'),
intButton=-1,
LnkCount=0,
s='',
script,
sFiles,
text,
WshShell=WScript.CreateObject('WScript.Shell');
//если был передан аргумент проверки autorun...
if(WScript.Arguments.Named.exists('autorun'))autorun_check=1;
if(autorun_check==1){
d=new Date();
autorun_exist=false;
AutorunName='\autorun_'+d.getDay()+'.'+d.getMonth()+'.'+d.getYear()+
'#'+d.getHours()+'.'+d.getMinutes()+'.'+d.getSeconds()+'.inf';
}
if(WScript.Arguments.UnNamed.length==0){
script=fso.GetFile(WScript.ScriptFullName);
f=fso.GetFolder(script.ParentFolder);
fFldrLnk=script.ParentFolder+'\\!ярлыки\\';
text='Данный скрипт отображает скрытые папки+перемещает\nвсе найденные ярлыки в папку «'+
fFldrLnk+'»\nИспользование:\n\tскопировать скрипт в корень флешки, запустить\nи согласиться на '+
'лечение.\nЗапустить лечение в папке «'+script.ParentFolder+'» ?';
intButton=WshShell.Popup(text,-1,'Устранение последствий вирусов',4);
}
if((WScript.Arguments.UnNamed.length!=0)&&(intButton!=6)){
f=fso.GetFolder(fso.GetParentFolderName(WScript.Arguments(0)));
fFldrLnk=f+'\\!ярлыки\\';
}
if((intButton==6)||(WScript.Arguments.UnNamed.length!=0)){
sFiles=new Enumerator(f.Files);
for(;!sFiles.atEnd();sFiles.moveNext()){
var ext=fso.GetExtensionName(sFiles.item().Name);
if(ext.toLowerCase()=='lnk'){
if(fso.FolderExists(fFldrLnk)==false)fso.CreateFolder(fFldrLnk)
fso.MoveFile(sFiles.item().Name,fFldrLnk);
LnkCount++;
sFiles=new Enumerator(f.Files);
}
if(autorun_check==1){
if(sFiles.item().Name=='autorun.inf'){
if(fso.FolderExists(fFldrLnk)==false)fso.CreateFolder(fFldrLnk);
sFiles.item().Attributes=0;
fso.MoveFile(sFiles.item().Name,fFldrLnk+AutorunName);
autorun_exist=true;
sFiles=new Enumerator(f.Files);
}
}
}
fFldr=new Enumerator(f.SubFolders);
for(;!fFldr.atEnd();fFldr.moveNext()){
for(i=0;attr[i]!=null;i++){
if(fFldr.item().Attributes==attr[i]){
fFldr.item().Attributes=0;
FldrCnt++;
break;
}
}
}
s='Oбработано:\n'+
'\tскрытых папок: '+FldrCnt+'\n'+
'\tярлыков: '+LnkCount;
if((autorun_check==1)&&(autorun_exist)){
s=s+'\n\nОбнаружен и перемещен autorun.inf файл.';
}
WshShell.Popup(s, -1, 'Готово', 64);
} | Из теории: чтобы объявить локальную переменную, используется var, иначе переменная глобальная. Чтобы не писать это "var" перед каждой строчкой присвоения, можно после одного var перечислить все переменные (с присвоением или без) через запятую, точка с запятой заканчивает перечисление. |
|