Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

MD с дополнительной возможностью создания дерева подкаталогов

Автор:   •  Апрель 22, 2018  •  Контрольная работа  •  794 Слов (4 Страниц)  •  623 Просмотры

Страница 1 из 4

Задание

MD с дополнительной возможностью создания дерева подкаталогов в соответствии с указываемым в качестве параметра текстовым файлом, в котором наименование каждого нового подкаталога начинается с новой строки, а каждый подуровень указан дополнительным символом пробела перед наименованием.

Анализ задачи

Задача состоит из двух частей:

  1. Создание папки по определенному пути
  2. Чтение файла, в котором содержится схема папок, которую необходимо создать.

Создание папки

Для создания папки используем функционал обьекта FileSysteObject, который умеет проверять, создана ли папка и создавать ее.

Так как эта функция не умеет создавать папки рекурсивно, разобьем входной путь на части и будем из них постепенно создавать путь.

[pic 1]

Создание дерева

В данном режиме мы открываем файл и читаем его по строкам.

Заводим список папок.

Если пробелов в начале строки больше, чем элементов в списке, то добавляем текущий элемент туда.

Если меньше – удаляем лишние и добавляем текущий.

Потом создаем полученную папку.

[pic 2]

Результат работы

[pic 3]

[pic 4]

Дерево

Исходный файл

[pic 5]

[pic 6]

Исходный код

function pomosh()

{

        WScript.Echo( "Параметры: " );

        WScript.Echo( "  cscript mymd.js путь" );

        WScript.Echo( "  cscript mymd.js -f файл_со_списком" );

        // Завершаемся

        WScript.Quit();

}

if (WScript.Arguments.length < 1)

        pomosh();

if ( (WScript.Arguments(0) == "-h") | (WScript.Arguments(0) == "-?") )

        pomosh ();

fs = new ActiveXObject("Scripting.FileSystemObject");

function CreateFolderRecursive(FullPath)

{

        WScript.Echo( "Создаем " + FullPath );

  var arr = FullPath.split("\\");

  var path = "";

  for(i in arr)

  {

    if (path != "")

            path = path + "\\";

    path = path + arr[i];

    // WScript.Echo( "  :" + path );

    if (!fs.FolderExists(path))

...

Скачать:   txt (3.8 Kb)   pdf (326.8 Kb)   docx (38.6 Kb)  
Продолжить читать еще 3 страниц(ы) »
Доступно только на Essays.club