Войти

Показать полную графическую версию : Список папок с именами


Страниц : [1] 2

Latinyanin
06-12-2020, 20:42
Привет!

Подскажите какой прогой можно создать много папок с именами из списка? Через тотал коммандер я список то сам создал, а дальше тупик какеой-то. Нашел было прогу foldercreator. но вней надо все имена вручнуювбивать, не скопируешь из списка-то!

okshef
06-12-2020, 22:18
Я не силен в программировании и в работе в командной строке, но когда-то решал аналогичную задачу с помощью командного файла mdcreate.cmd с содержимым
@Echo Off
For /F "usebackq delims=" %%D In ("file.txt") Do (MD "%%D")
Файл со списком папок file.txt должен быть там же, где и командный файл

Busla
06-12-2020, 22:23
powershell:

# если в списке просто имена
Get-Content -LiteralPath list.txt | % { New-Item -Name $_ -ItemType Directory }

# если в списке пути
Get-Content -LiteralPath list.txt | % { New-Item -Path $_ -ItemType Directory }

Iska
07-12-2020, 03:32
Через тотал коммандер я список то сам создал, »
Latinyanin, я в Far Manager'е действую примерно так же, как описал выше коллега okshef.

Имена каталогов уже в буфере обмена. Если их немного — набираю «for %i in (», Shift-Insert, «) do @md "%~i"», например:
for %i in (0409 AdvancedInstallers appmgmt ar-SA bg-BG Boot catroot) do @md "%~i"
https://i.imgur.com/cfWC0FM.png
Нажал Enter — получил результат:
https://i.imgur.com/HciqhPa.png

Если же имён слишком много для командной строки (может превысить лимит), то да — проще из файла:
https://i.imgur.com/zTmrrC6.png
но, опять-таки, создание делаю прямо из командной строки:
https://i.imgur.com/E6OBlpu.png

https://i.imgur.com/1zkdabT.png

Latinyanin
07-12-2020, 14:27
okshef,
привет, спасибо! А ваш код я копирую в текстовый документ, сохраня. под каким именем?
И не мене важный вопрос - а созданные папки, они куда сохранятся? на рабочий стол?
так не удобно,много их,,,,,

Если я неправильно че понял, например сам код надо в тотал комманде как -то встроить,то пардон, пояснте?!

okshef, e-gc. не дочитал - оказывается все это надо в командной строке делать,,,

Iska
07-12-2020, 14:34
под каким именем? »
Под любым. С расширением .cmd. Но, крайне желательно избегать именования названиями внутренних команд интерпретатора.

И не мене важный вопрос - а созданные папки, они куда сохранятся? »
В том каталоге, который будет текущим на момент исполнения пакетного файла. Не в том каталоге, в котором будет сохранён пакетный файл (хотя эти каталоги могут и совпасть).

Latinyanin
07-12-2020, 14:34
Busla,
тоже решение через командную строку? Как в нее попасть-то хоть?

Iska, если есть портабельная версия far manager попробую

okshef
07-12-2020, 16:11
код я копирую в текстовый документ, сохраня. под каким именем? »
командного файла mdcreate.cmd »
а созданные папки, они куда сохранятся? »
Файл со списком папок file.txt »
внутри этого файла список создаваемых папок
если папки нужны в том же каталоге, где находится командный файл, то имена папок должны быть записаны так
dir1\
dir2\
....
и т.д
Если хотите создать пустые папки в других местах, то список будет таким (примерно)
c:\dir1\dir2\
d:\dir3\dir4\dir5\
и т.д.
Т.е. будут создаваться и вложенные папки тоже

Latinyanin
13-12-2020, 14:31
okshef,
https://www.upload.ee/images/dl_f.gif (https://www.upload.ee/files/12636055/_______.zip.html)
ни фига не получается! Посмотрите че не так делаю?

Iska
13-12-2020, 16:11
Latinyanin, Ваш список в list.txt — в кодировке Юникод, UTF-16LE, да ещё и с BOM. А должен быть в OEM/866, чтобы работало в пакетных файлах без дополнительных извращений. Либо пользуйте WSH/PoSH, в которых поддержка UTF-16LE с BOM есть «искаропки».

Может Вы опишете целиком весь процесс, который Вы хотите автоматизировать? Я так вижу, что у Вас есть некие fb2, которые Вы выделяете, копируете и создаёте из их имён файл-список. Так? Потом создаёте на основе этого файл-списка одноимённые каталоги рядом с файлами. А потом?

Если так, то в Far Manager'е это вообще вырождается в 1) выделить файлы, 2) нажать Ctrl-G, ввести (или выбрать из истории ввода) «md "!."», 3) нажать Ctrl-Enter.

okshef
13-12-2020, 23:22
Ваш список в list.txt — в кодировке Юникод, UTF-16LE, да ещё и с BOM. А должен быть в OEM/866 »
Latinyanin, это раз. Во-вторых, после каждой строчки в файле со списком должен быть обратный слэш - "\"
Название папки 1\
Папка номер 2\

Iska
13-12-2020, 23:24
okshef, не понял:
после каждой строчки в файле со списком должен быть обратный слэш - "\" »
Зачем?

okshef
13-12-2020, 23:26
Не знаю, у меня так.... Может для обозначения конца имени папки... Проверил: сменил кодировку, слэши поставил - все работает

Iska
13-12-2020, 23:32
У меня и без обратных слэшей в конце имён работает.

okshef
13-12-2020, 23:39
Вынужден согласиться )

Busla
14-12-2020, 08:02
после каждой строчки в файле со списком должен быть обратный слэш - "\" »
Зачем? »
когда вы используя этот же список начнёте перемещать или копировать файлы, без слэша случится казус

YuS_2
14-12-2020, 09:10
Зачем? »
Микрософт в cmd не предусмотрела разделение каталогов и файлов для всех команд, поэтому для многих команд это равнозначные элементы. Вроде бы, в cmd единственная утилита, которая умеет их разделять, это forfiles, дополнено: ещё умеет DIR /ad... поэтому, для однозначного определения, что это каталог, в списках или в командах с параметрами, используют такую фичу.
Вот тут (http://forum.oszone.net/post-2862099.html#post2862099) когда-то было обсуждение...

Vadikan
14-12-2020, 13:14
Микрософт в cmd не предусмотрела разделение каталогов и файлов »
Зато предусмотрела в PowerShell
dir C:\Users -File -Force
dir C:\Users -Directory

YuS_2
14-12-2020, 14:00
Зато предусмотрела в PowerShell »
:) Согласен. Более того, у каждого элемента/объекта присутствует соответствующий признак... PSIsContainer
Но речь была про:
после каждой строчки в файле со списком должен быть обратный слэш - "\"
Зачем? »
относительно пакетных файлов .bat

Iska
14-12-2020, 15:48
Busla, YuS_2, Ваша мысль понятна.




© OSzone.net 2001-2012