Старожил
Сообщения: 352
Благодарности: 193
|
Профиль
|
Отправить PM
| Цитировать
Вариант на WSH JScript: MkFoldersRecurse.js
Скрытый текст
Код: 
// Папка:
var targetFolder = "d:\\xxTESTxx";
// Массив создаваемых папок:
var foldersList = [
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9"
];
// Глубина создаваемой структуры папок:
var foldersDepth = 2;
var newf = '';
var wsh = WScript.CreateObject("WScript.Shell");
var fso = new ActiveXObject("Scripting.FileSystemObject");
if (!TestWritable(targetFolder)) {
msg("Ошибка записи в папку " + targetFolder);
WScript.Quit(1);
}
if (wsh.Popup("Будет создано " + GetFoldersNumber(foldersList.length, foldersDepth) + " папок.\n\nПродолжить?", 0, "", 4) != 6 )
WScript.Quit(0);
var timeStart = new Date();
CreateFolders(targetFolder, foldersList, foldersDepth);
var timeFinish = new Date();
msg((timeFinish - timeStart) + " msec.")
function msg(s){WScript.Echo(s);}
function TestWritable(parentFolder) {
var testFolderName = parentFolder + "\\" + "testFolderName";
try {
fso.CreateFolder(testFolderName);
} catch(error) {
return false;
}
fso.DeleteFolder(testFolderName, true);
return true
}
function GetFoldersNumber(n, d) {
var sum = 0;
for (var i = 1; i <= d ; i++)
sum += Math.pow(n, i);
return sum;
}
function CreateFolders(parentFolder, foldersList, foldersDepth){
var depth = foldersDepth == undefined ? foldersList.length : foldersDepth;
if (depth == 0)
return;
for (var f in foldersList) {
newf = parentFolder + "\\" + foldersList[f]
if (!fso.FolderExists(newf)) fso.CreateFolder(newf);
CreateFolders(newf, foldersList, depth - 1)
}
}
Цитата NLOLegion:
-создать 10 папок(например в диске "C" (в папке "test") с названием каждой "0","1","2","3","4","5","6","7","8","9";
-в каждой этой папке создать ещё 10 папок "0","1","2","3","4","5","6","7","8","9"
-в свою очередь в каждой новой папке ещё по 10 папок с такими же названиями
-создать до такого количества раз, чтобы в итоге можно было зайти на глубину 10 папок. Н »
|
Жалко компа, он же сдохнуть может от такой нагрузки
Цитата megaloman:
10 миллиардов папок - занадта! »
|
NTFS вроде как лимит в 4,294,967,295 (2^32-1) имеет 
|