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

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » Вопрос по JavaScript

Ответить
Настройки темы
Вопрос по JavaScript

Аватара для Debugger

Ветеран


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


Конфигурация

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


Изменения
Автор: Debugger
Дата: 21-12-2008
Имеется следующий скрипт, который запускается в конце установки Windows и устанавливает случайную картинку в качестве обоев (если кому надо, пользуйтесь, только распакуйте вложение в папку со скриптом):

Код: Выделить весь код
var SourceDir, FileTypes, ft, FileList,n1,counter,GlSeed;
// скрипт для выбора случайной картинки и установки ее в качестве обоев
// (c) MarsDen 2005
// параметры задаются ниже
// SourceDir = "C:\Bitmaps" - папка, в которой лежат картинки
SourceDir = "c:\\Documents and Settings\\Администратор\\Мои документы\\Мои рисунки\\";
// FileTypes = список типов файлов, через точку, в верхнем регистре,
// только тогда гарантируется полный перебор всех файлов
FileTypes = 'BMP.JPG';
// в результате выполнения скрипта формируется файл-копия в папке %SystemRoot%
// с имененм JS_WallPaper.ext, где ext - текущее расширение файла
// и вносятся записи в реестр с указанием новых обоев

function ReadFoldersCount(SD){
var fso, f, fc, fc1, s, s1, cnt;
  cnt=0;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  //WScript.Echo(SourceDir);
  f = fso.GetFolder(SD);
  fc = new Enumerator(f.SubFolders);
  fc1 = f.SubFolders;

  s = "";
  for (; !fc.atEnd(); fc.moveNext())
  {
    s += fc.item();
    s += "\n";
    s1 = fc.item();
    cnt += ReadFoldersCount(s1);
  }
  cnt += fc1.Count;
  return cnt;
}

function ReadFilesCount(SD){
var fso, f, fc, fc1, s, s1, s2, cnt, nn,nn1;
  if(!SD){return 0}
  cnt=0;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  //WScript.Echo(SD);
  f = fso.GetFolder(SD);
  fc = new Enumerator(f.SubFolders);
  fc1 = f.SubFolders;
  s = "";
  for (; !fc.atEnd(); fc.moveNext())
  {
    s += fc.item();
    s += "\n";
    s1 = fc.item();
    cnt += ReadFilesCount(s1);
  }
  fc = new Enumerator(f.files);
  fc1 = f.files;
  for (; !fc.atEnd(); fc.moveNext())
  {
    s = fc.item();
    s = SD+"\\"+s.name;
    s1=s.toUpperCase();

    for(nn=0;nn<ft.length;nn++){
      s2 = ft[nn];
      if(!(s2=='')){
        if(s1.lastIndexOf(s2)==s1.length-s2.length){
            FileList[FileList.length] = s;
        }
      }
    }
    //cnt += ReadFilesCount(s1);
  }
  cnt += fc1.Count;
  return cnt;
}


ft = FileTypes.split('.');
FileList = new Array();
ReadFilesCount(SourceDir);
var nn = parseInt((FileList.length * Math.random()) + 1);
var s = FileList[nn];
nn = s.lastIndexOf('.');
var s1 = s.substring(nn+1,s.length)
//WScript.Echo(s+" nn = "+nn+" s1 = "+s1);

var WSHShell = WScript.CreateObject("WScript.Shell");
var WinDir = WSHShell.ExpandEnvironmentStrings("%SystemRoot%");
var fso = new ActiveXObject("Scripting.FileSystemObject");

var s2=WinDir+"\\JS_Wallpaper."+s1;
var s3=WinDir+"\\JS_Wallpaper.bmp";



fso.CopyFile(s, s2);
if(s2.toUpperCase()!=s3.toUpperCase()){
  var s4 = 'jpgtobmp.exe "'+s2+'" "'+s3+'"';
  WSHShell.Run(s4)
}

var WSHShell = WScript.CreateObject("WScript.Shell");
WSHShell.RegWrite("HKCU\\Control Panel\\Desktop\\TileWallpaper", "0");
WSHShell.RegWrite("HKCU\\Control Panel\\Desktop\\Wallpaper", s3);
WSHShell.RegWrite("HKCU\\Control Panel\\Desktop\\WallpaperStyle", "2");
Вопрос к гуру: как его изменить, чтобы вместо прямых путей можно было бы подставить переменные окружения?

Отправлено: 16:05, 15-12-2005

 


Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » Вопрос по JavaScript

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
вопрос по javascript-калькулятору на сайте Dr.Web Котяра Хочу все знать 1 14-04-2009 14:27
Вопрос по javascript (скрытие слоя) max-avia Вебмастеру 1 01-03-2009 18:37
Написание CMS Вопрос 1: WYSIWYG на JavaScript lelik133 Вебмастеру 1 09-06-2005 18:55
Вопрос по JavaScript. Zero93 Вебмастеру 2 27-02-2005 01:59
Вопрос по Javascript Guest Вебмастеру 4 22-06-2004 14:16




 
Переход