Скрипт вывода имен файлов.
Добрый день! Помогите пожалуйста, нужен скрипт вывода имен файлов папки по возрастанию размера. Спасибо заранее!
|
у javascript нет доступа к файловой системе
|
ratratrat, смотря где...если на сервере, то это на PHP нужно писать
если на клиенте, то только с Windows и в IE, используя ActiveX-объект FileSystemObject |
Файл .JS или .JSE на клиентской машине, при открытии которого должно быть:
вывод имен файлов папки по возрастанию размера Папка указывает заранее в скрипте. |
Цитата:
|
ratratrat,
var folderaddress = "C:/"; // имя папки из которой будет происходить считывание файлов
var fso, f, fc, s = "", ar = [], obj = {}, i = 0;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(folderaddress);
fc = new Enumerator(f.files);
for (; !fc.atEnd(); fc.moveNext()) {
obj[fc.item().size] = fc.item().Name;
ar[i] = fc.item().size;
i++;
}
ar.sort(function(a,b){return a-b;});
for (i=0; i < ar.length; i++) {
s += obj[ar[i]]+"\n";
}
WScript.Echo(s);
|
lord2kim,
огромное спасибо! Это вывод имен файлов папки по возрастанию размера? То есть от меньшего файла к большему? Как тут на форуме ставить + ? |
ratratrat, по возрастанию
рядом с ником стоит "Карма" |
lord2kim,
Извини за наглость, не можешь помочь еще с 2 задачами? 1)Написать программу (СКРИПТ .JS, .JSE) вывода в файл списка групп на факультете разбив их на 4 колонки. (Названия групп произвольное) 2)В зависимости от кода ошибки записать в текстовый файл результат проведения операции копирования. Я Visual Basic .NET программист, не писал ранее скрипты, а вот появилась в них зависимость. |
ratratrat,
var groups = ["АВУП41", "АСУ31", "АСУ41", "АСУ41", "АСУ51", "АСУ52", "БМС41", "БМС51", "УПТС11", "УПТС12", "УПТС21", "УПТС22", "КИБ21", "КИБ22", "КИБ31", "КИБ32", "КИБ41", "КИБ42", "КИБ51", "КИБ52"];
var fso = new ActiveXObject("Scripting.FileSystemObject");
var file = fso.CreateTextFile(fso.GetAbsolutePathName("") + "/1.txt", 1);
for (i=0; i < groups.length; i+=3) {
file.WriteLine((groups[i] || "")+"\t\t"+(groups[i+1] || "")+"\t\t"+(groups[i+2] || "")+"\t\t"+(groups[i+3] || ""));
}
file.Close();
var fso = new ActiveXObject("Scripting.FileSystemObject"),
file_err = fso.CreateTextFile(fso.GetAbsolutePathName("") + "/1.txt", 1),
files = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg", "7.jpg", "8.jpg", "9.jpg"];
for (i=0; i < files.length; i++) {
try {
fso.MoveFile("C:/"+files[i], fso.GetAbsolutePathName("")+"/");
file_err.WriteLine("копирование произведено успешно");
}
catch(e) {
file_err.WriteLine(e.number + " -> " + e.message);
}
}
file_err.Close();
|
lord2kim,
Цены нету вам! |
Прошу еще помочь по возможности с данной задачей:
Написать программу (скрипт .JS, .JSE) преобразования файла группы из одно колоночного в двух колоночный. После запуска выходит информация в окошечько маленькое, там информация выходит в одну колоночную, надо что бы выходила в двух колоночную. Помоги пожалуйста ! Задание похоже на:
var groups = ["АВУП41", "АСУ31", "АСУ41", "АСУ41", "АСУ51", "АСУ52", "БМС41", "БМС51", "УПТС11", "УПТС12", "УПТС21", "УПТС22", "КИБ21", "КИБ22", "КИБ31", "КИБ32", "КИБ41", "КИБ42", "КИБ51", "КИБ52"];
var fso = new ActiveXObject("Scripting.FileSystemObject");
var file = fso.CreateTextFile(fso.GetAbsolutePathName("") + "/1.txt", 1);
for (i=0; i < groups.length; i+=3) {
file.WriteLine((groups[i] || "")+"\t\t"+(groups[i+1] || "")+"\t\t"+(groups[i+2] || "")+"\t\t"+(groups[i+3] || ""));
}
file.Close();
Только не запись, а вывод в 2 колонки. То есть что-то типа MSGBOX (MESSAGEBOX) с двумя колонками текста приведенного в var groups. |
lord2kim, и я прошу у тебя помощи!
1. Написать программу (скрипт) вывода имен файлов папки по убыванию размера. (она точно такая же, только по убыванию, как ты видишь) 2. В зависимости от введенной с экрана буквы создать файл отчета по оперативной памяти с именем БУКВА+ДАТА ПОМОГИТЕ, пожалуйста! |
В каком вузе такое задают?
|
zebra, в УГГУ!
|
ratratrat, не понятно в чем вопрос конечно...
var groups = ["АВУП41", "АСУ31", "АСУ41", "АСУ41", "АСУ51", "АСУ52", "БМС41", "БМС51", "УПТС11", "УПТС12", "УПТС21", "УПТС22", "КИБ21", "КИБ22", "КИБ31", "КИБ32", "КИБ41", "КИБ42", "КИБ51", "КИБ52"];
var str = "";
for (i=0; i < groups.length; i+=2) {
str += groups[i]+"\t\t"+(groups[i+1] || "")+"\n";
}
WScript.Echo(str);
pashka_k-r, 1) замени соответствующую строчку на
ar.sort(function(a,b){return b-a;});
2)
var objItem;
var objWMIService = GetObject("winmgmts:\\\\.\\root\\CIMV2");
var colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PerfFormattedData_PerfOS_Memory", "WQL", 0x10 | 0x20);
var enumItems = new Enumerator(colItems);
for (; !enumItems.atEnd(); enumItems.moveNext()) {
objItem = enumItems.item();
WScript.Echo("\tAvailableBytes: " + objItem.AvailableBytes + "\n\
AvailableKBytes: " + objItem.AvailableKBytes + "\n\
AvailableMBytes: " + objItem.AvailableMBytes + "\n\
CacheBytes: " + objItem.CacheBytes + "\n\
CacheBytesPeak: " + objItem.CacheBytesPeak + "\n\
CacheFaultsPersec: " + objItem.CacheFaultsPersec + "\n\
Caption: " + objItem.Caption + "\n\
CommitLimit: " + objItem.CommitLimit + "\n\
CommittedBytes: " + objItem.CommittedBytes + "\n\
DemandZeroFaultsPersec: " + objItem.DemandZeroFaultsPersec + "\n\
Description: " + objItem.Description + "\n\
FreeSystemPageTableEntries: " + objItem.FreeSystemPageTableEntries + "\n\
Frequency_Object: " + objItem.Frequency_Object + "\n\
Frequency_PerfTime: " + objItem.Frequency_PerfTime + "\n\
Frequency_Sys100NS: " + objItem.Frequency_Sys100NS + "\n\
Name: " + objItem.Name + "\n\
PageFaultsPersec: " + objItem.PageFaultsPersec + "\n\
PageReadsPersec: " + objItem.PageReadsPersec + "\n\
PagesInputPersec: " + objItem.PagesInputPersec + "\n\
PagesOutputPersec: " + objItem.PagesOutputPersec + "\n\
PagesPersec: " + objItem.PagesPersec + "\n\
PageWritesPersec: " + objItem.PageWritesPersec + "\n\
PercentCommittedBytesInUse: " + objItem.PercentCommittedBytesInUse + "\n\
PoolNonpagedAllocs: " + objItem.PoolNonpagedAllocs + "\n\
PoolNonpagedBytes: " + objItem.PoolNonpagedBytes + "\n\
PoolPagedAllocs: " + objItem.PoolPagedAllocs + "\n\
PoolPagedBytes: " + objItem.PoolPagedBytes + "\n\
PoolPagedResidentBytes: " + objItem.PoolPagedResidentBytes + "\n\
SystemCacheResidentBytes: " + objItem.SystemCacheResidentBytes + "\n\
SystemCodeResidentBytes: " + objItem.SystemCodeResidentBytes + "\n\
SystemCodeTotalBytes: " + objItem.SystemCodeTotalBytes + "\n\
SystemDriverResidentBytes: " + objItem.SystemDriverResidentBytes + "\n\
SystemDriverTotalBytes: " + objItem.SystemDriverTotalBytes + "\n\
Timestamp_Object: " + objItem.Timestamp_Object + "\n\
Timestamp_PerfTime: " + objItem.Timestamp_PerfTime + "\n\
Timestamp_Sys100NS: " + objItem.Timestamp_Sys100NS + "\n\
TransitionFaultsPersec: " + objItem.TransitionFaultsPersec + "\n\
TransitionPagesRePurposedPersec: " + objItem.TransitionPagesRePurposedPersec + "\n\
WriteCopiesPersec: " + objItem.WriteCopiesPersec);
}
|
lord2kim,
спасибо огромное! |
| Часовой пояс GMT +3, время: 14:15. |