Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Список папок с именами (http://forum.oszone.net/showthread.php?t=347248)

Latinyanin 06-12-2020 20:42 2942175

Список папок с именами
 
Привет!

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

okshef 06-12-2020 22:18 2942186

Я не силен в программировании и в работе в командной строке, но когда-то решал аналогичную задачу с помощью командного файла mdcreate.cmd с содержимым
Код:

@Echo Off
For /F "usebackq delims=" %%D In ("file.txt") Do (MD "%%D")

Файл со списком папок file.txt должен быть там же, где и командный файл

Busla 06-12-2020 22:23 2942188

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 2942204

Цитата:

Цитата Latinyanin
Через тотал коммандер я список то сам создал, »

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"

Нажал Enter — получил результат:
Скрытый текст


Если же имён слишком много для командной строки (может превысить лимит), то да — проще из файла:
Скрытый текст

но, опять-таки, создание делаю прямо из командной строки:
Скрытый текст



Latinyanin 07-12-2020 14:27 2942245

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

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

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

Iska 07-12-2020 14:34 2942248

Цитата:

Цитата Latinyanin
под каким именем? »

Под любым. С расширением .cmd. Но, крайне желательно избегать именования названиями внутренних команд интерпретатора.

Цитата:

Цитата Latinyanin
И не мене важный вопрос - а созданные папки, они куда сохранятся? »

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

Latinyanin 07-12-2020 14:34 2942249

Busla,
тоже решение через командную строку? Как в нее попасть-то хоть?

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

okshef 07-12-2020 16:11 2942258

Цитата:

Цитата Latinyanin
код я копирую в текстовый документ, сохраня. под каким именем? »

Цитата:

Цитата okshef
командного файла mdcreate.cmd »

Цитата:

Цитата Latinyanin
а созданные папки, они куда сохранятся? »

Цитата:

Цитата okshef
Файл со списком папок file.txt »

внутри этого файла список создаваемых папок
если папки нужны в том же каталоге, где находится командный файл, то имена папок должны быть записаны так
Код:

dir1\
dir2\
....
и т.д

Если хотите создать пустые папки в других местах, то список будет таким (примерно)
Код:

c:\dir1\dir2\
d:\dir3\dir4\dir5\
и т.д.

Т.е. будут создаваться и вложенные папки тоже

Latinyanin 13-12-2020 14:31 2942834

okshef,

ни фига не получается! Посмотрите че не так делаю?

Iska 13-12-2020 16:11 2942841

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 2942870

Цитата:

Цитата Iska
Ваш список в list.txt — в кодировке Юникод, UTF-16LE, да ещё и с BOM. А должен быть в OEM/866 »

Latinyanin, это раз. Во-вторых, после каждой строчки в файле со списком должен быть обратный слэш - "\"
Код:

Название папки 1\
Папка номер 2\


Iska 13-12-2020 23:24 2942872

okshef, не понял:
Цитата:

Цитата okshef
после каждой строчки в файле со списком должен быть обратный слэш - "\" »

Зачем?

okshef 13-12-2020 23:26 2942873

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

Iska 13-12-2020 23:32 2942874

У меня и без обратных слэшей в конце имён работает.

okshef 13-12-2020 23:39 2942876

Вынужден согласиться )

Busla 14-12-2020 08:02 2942887

Цитата:

Цитата Iska
после каждой строчки в файле со списком должен быть обратный слэш - "\" »
Зачем? »

когда вы используя этот же список начнёте перемещать или копировать файлы, без слэша случится казус

YuS_2 14-12-2020 09:10 2942897

Цитата:

Цитата Iska
Зачем? »

Микрософт в cmd не предусмотрела разделение каталогов и файлов для всех команд, поэтому для многих команд это равнозначные элементы. Вроде бы, в cmd единственная утилита, которая умеет их разделять, это forfiles, дополнено: ещё умеет DIR /ad... поэтому, для однозначного определения, что это каталог, в списках или в командах с параметрами, используют такую фичу.
Вот тут когда-то было обсуждение...

Vadikan 14-12-2020 13:14 2942928

Цитата:

Цитата YuS_2
Микрософт в cmd не предусмотрела разделение каталогов и файлов »

Зато предусмотрела в PowerShell
Код:

dir C:\Users -File -Force
dir C:\Users -Directory


YuS_2 14-12-2020 14:00 2942934

Цитата:

Цитата Vadikan
Зато предусмотрела в PowerShell »

:) Согласен. Более того, у каждого элемента/объекта присутствует соответствующий признак... PSIsContainer
Но речь была про:
Цитата:

Цитата Iska
Цитата:

после каждой строчки в файле со списком должен быть обратный слэш - "\"
Зачем? »

относительно пакетных файлов .bat

Iska 14-12-2020 15:48 2942944

Busla, YuS_2, Ваша мысль понятна.

YuS_2 14-12-2020 16:27 2942952

Iska, Vadikan,
Посыпаю голову пеплом и извиняюсь за недостоверную информацию... т.к. cmd теперь пользуюсь редко, всё перепуталось в голове.
Код:

DIR /ad
- вполне умеет отделять каталоги от файлов

Код:

DIR /a-d
- выборка только файлов.

PS В этом сообщении исправил недостоверную информацию...


Время: 06:47.

Время: 06:47.
© OSzone.net 2001-