Итак, я изучаю онлайн-курс, который состоит из сотен лекций. Мне нужно скачать исходный код для каждой лекции в соответствующей подпапке. С более чем 120 лекциями создание подпапки одна за другой является кропотливым процессом.
Вот моя текущая структура папок:
Есть ли способ, которым я могу создать все эти подпапки сразу, вместе с правильным именем, через командный файл или что-то подобное.
windows-7
windows
script
batch-file
Маниш Гири
источник
источник
Ответы:
Как я могу создать все эти подпапки одновременно, используя мою схему именования?
Чтобы создать подпапки (подкаталоги) в определенном каталоге (который не является текущим каталогом), вы можете выполнить одно из следующих действий:
cd C:\Dropbox\Development
первый илиmd Lec-%%i
команду наmd C:\Dropbox\Development\Lec-%%i
.Замечания:
mkdir
является синонимомmd
и может использоваться вместо него.Ниже я показываю обе альтернативы, сначала из
cmd
оболочки (командной строки), а затем с использованием командного файла.В качестве бонуса (хотя в первоначальном вопросе его не просили) также есть
bash
альтернатива оболочке.Из
cmd
скорлупы:или
Из пакетного файла:
Или
Примечания:
9
это начальный номер. Поменяйте при необходимости.1
это шаг. Не меняй это.120
конечный номер. При необходимости измените номер последнего каталога, который вам требуется.Чтобы создать файлы в другом каталоге, вы можете
cd C:\Dropbox\Development\Lec-%%i
первый илиmd
команду наmd C:\Dropbox\Development\Lec-%%i
.Есть ли способ сделать подобное для Mac OSX из терминала Mac?
Из
bash
скорлупы:Или (для более портативной версии)
Дальнейшее чтение
источник
C:\Dropbox\Development
, нужно ли мнеcd
сначала обращаться к этому каталогу? Предполагая, что я используюcmd
оболочку? И большое спасибо!cd
в папку.md Lec-%%i
наmd C:\Dropbox\Development\Lec-%%i
md
почему бы не использоватьmkdir
на Windows? Таким образом, это согласуется с * nix, и людям нужно помнить на одну разницу меньше.Есть еще один простой способ, для ограниченного количества папок. Может быть полезно здесь или для кого-то еще.
В Windows мы можем создать нумерованные имена папок, создав папку «lec (1)» и скопировав ее столько раз, сколько мы хотим, если мы вставим 10 раз, будет 11 папок с именами «lect (1)» в «lec ( 10) - Копировать
Единственная хитрость в том, что первая папка должна содержать круглые скобки (n), где n - номер, с которого начинается нумерация.
Windows включает в себя «- copy» и имя вставленной папки «lec (1) - Copy» :(
Если вам это не нравится, просто выберите все и переименуйте сначала lec (1) -> lec- (1) или что-нибудь еще.
Все имена папок будут скорректированы и "- копия" будет удалена;)
источник
Это не будет лучше, чем сценарий для вашего конкретного сценария, но приятно знать это, когда имена ваших папок не связаны: вы можете создать несколько каталогов из командной строки, разделив их пробелом:
источник
Вы можете обнаружить, что если вы создадите пронумерованные папки с такими именами, они не будут отображаться в правильном (ожидаемом) порядке сортировки:
Проблема в том, что числовая часть foldernames имеет переменную ширину, что влияет на порядок сортировки папок.
Если для вас важно, чтобы папки сортировались правильно, используйте пакетный файл ниже, чтобы создать папки с пронумерованной частью foldernames, дополненной нулями (0), чтобы все числа имели одинаковую длину, например так:
Вот командный файл:
источник
Lec-10
последующимLec-9
.2
он будет помещен раньше,10
чем ожидалось (если вы посмотрите на скриншот ОП, 9 также отсортированы до 10). Толькоdir
страдает от этой проблемы и нуждается в0
дополнениях, но ОП мало знал о командной строке, поэтому я не думаю, что это будет проблемойdir
список папок не по порядку. Windows Как вы и автор заметили , проводник Windows будет правильно сортировать / перечислять папки, но ОП ищетbatch
решение, которое означает, что они (скорее всего) будут работать изcommand prompt
.Вы можете запустить этот пакетный файл в той же папке, что и файлы. Каждый файл будет перемещен в папку с тем же именем.
Я использую это с предупреждением ниже, чтобы избежать случайного использования.
источник
Прежде всего, я не прочитал всю вашу проблему ... но насколько я могу понять ... вы хотите переименовать папки на основе списка ... ну, есть два метода
Способ-1 -Если у вас нет списка папок ... есть обходной путь ... вам нужно перейти к macOS с этим деревом папок ... и просто скопировать все дерево папок ... Что MacOS сделает, так это скопирует содержимое а также список всех ваших папок с точки зрения списка, а также ... теперь вставьте в TextEdit или любое программное обеспечение, подобное Notepad.
-Теперь я предполагаю , вас имея , что список папок с вами ... вам просто нужно одно программное обеспечение сторонних производителей, чтобы сделать работу (сейчас все шаги для Windows) https://www.rename-expert.com -Для термины Чтобы использовать это программное обеспечение, вы должны были создать новую папку, новую папку-2, новую папку-4 столько, сколько вы хотели.
-Теперь в эксперте по переименованию есть опция для переименования папок на основе списка.
-Бум, вы сделали.
Метод-2 -Если вы хотите создать зеркальную копию всего дерева папок без файлов в нем.
-Beyond Compare - это программа, которая вам нужна. https://www.scootersoftware.com/support.php?zz=kb_copyfolderstructure
источник