wolf0425
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: @set @x=0 /* @echo off rem based on example from http://forum.script-coding.info/viewtopic.php?id=64 for /f "tokens=1*" %%a in ('cscript //nologo //H:cscript //e:jscript "%~f0"') do echo file=%%b exit */ // start Jscript part // Main(); function Main() { var sFiles, nFiles; var aFiles = GetFileList(); sFiles = ''; if ( (nFiles = aFiles.length) > 0 ) { for (var i = 0; i < nFiles; i++) sFiles += ' ' + (i + 1) + '. ' + aFiles[i] + '\n'; } WScript.Echo(sFiles); return(nFiles); } function GetFileList() { var oFileDlg, aFiles; try { oFileDlg = new ActiveXObject("MSComDlg.CommonDialog"); with ( oFileDlg ) { // const int cdlcdlOFNHideReadOnly = 4 (0x4); Делает невидимым переключатель Read Only. // const int cdlOFNNoChangeDir = 8 (0x8); Вынуждает диалоговое окно устанавливать текущий каталог в тот, который был при предыдущем открытии. // const int cdlOFNAllowMultiselect = 512 (0x200); Пользователь может выбрать более чем один файл. (multiple selections). // const int cdlOFNFileMustExist = 4096 (0x1000); Определяет, что можно вводить имена только существующих файлов. User can enter only names of existing files. // const int cdlOFNExplorer = 524288 (0x80000); Определяет внешний вид окна выбора. // const int cdlOFNLongNames = 2097152 (0x200000); Позволяет пользователю использовать длинные имена файлов Long filenames enable. Flags = 4 + 8 + 512 + 4096 + 524288 + 2097152; CancelError = false; MaxFileSize = 8192; filename = ""; InitDir = ""; DialogTitle = 'Выбор файлов: Удерживая Ctrl отметьте требуемые файлы.' Filter = "Все файлы|*.*|MS Word файлы|*.doc|MS Excel файлы|*.xls|Текстовые файлы|*.txt"; FilterIndex = 1; ShowOpen(); if ( filename.length > 0 ) { aFiles = filename.split("\0"); if ( aFiles.length > 1 ) { var nFiles = aFiles.length - 1; var sPath = aFiles[0]; if ( sPath.charAt(sPath.length-1) != "\\" ) sPath += "\\"; for(var nCnt = 0; nCnt < nFiles; nCnt++) aFiles[nCnt] = sPath + aFiles[nCnt + 1]; aFiles.length = nFiles; } } } } catch(e) { } if ( aFiles == null ) return( new Array() ); return( aFiles ); } |
| Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 16:56 23-06-2010 | Исправлено: wolf0425, 17:23 23-06-2010 |
|