Автоматическое создание папок

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Lev
Сообщения: 392
Зарегистрирован: Ср мар 02, 2005 16:34

Сообщение Lev »

к названию подмешается лишнее
скрипт выдаёт предлагаемое имя папки в редактируемом виде, Вы можете вручную убрать лишние символы, или вбить на совершенно другое название.
SergM/S
Сообщения: 11
Зарегистрирован: Ср апр 08, 2009 08:11

Сообщение SergM/S »

там папок довольно много, если редактировать - смысл автоматизации теряется.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

SergM/S
Используй вот этот скрипт с параметрами:
%L "" 22 "_AUDIO\_MIDI"
Нет, я не сплю. Я просто медленно моргаю.
SergM/S
Сообщения: 11
Зарегистрирован: Ср апр 08, 2009 08:11

Сообщение SergM/S »

Batya писал(а):SergM/S
Используй вот этот скрипт с параметрами:
%L "" 22 "_AUDIO\_MIDI"
Ура! дождался :)
Спасибо, Batya!!! пойду пробовать..
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

zlodei1988 писал(а):В тотлике есть 2 окна! нужно на одной панели выделить файлы, нажать f6, и чтоб эти файлы полетели в папку, имя которой создастся автоматом, и назовется последующим именем предыдущей папки! например, в левом окне есть папка 1327, переходим в правое окно, выделяем файлы, нажимаем f6, и эти файлы залетели в создавшуюся папку 1328!!! заранее спасибо за все варианты!!!
Расшифровка: Создание папки в неактивной панели (с приращением к числовому названию существующих папок n+1) и перемещение в неё выделенных файлов.

Для именования создаваемой папки можно брать числовой максимум в названиях папок неактивной панели и прибавлять единицу (1234, 1236, ..., Max, 1267), а можно забивать пустоты (1234, 1235, 1236, ... Max).
Что больше подходит?
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Одноимённая с текущей закрытая тема, где приводился процитированный в предыдущем посте первый вариант условий, по итогам обсуждения в привате ныне ликвидирована.
Вот как это выглядит в настоящее время:
Итак, в исходной панели есть файлы(приблизительно тысяч 6 подряд), надо их по 4-10 файлов переместить в целевую панель с таким учетом, чтоб создать самому одну папку, назвать ее например 123, и после этого, опять в исходной панели выделить несколько файлов, и с помощью кнопки или батника они должны переместиться в папку, которая создастся автоматически с именем (123+1) 124 и принять их в себя, и так далее! выделяем файлы, нажимаем кнопку, создается папка, которая забирает имя у предыдущей папки в целевой панели, плюсует 1, и все принимает в себя!
1. Число цифр в имени папки произвольное, но не более 4.
2. Предыдущая папка — это, разумеется, та существующая в целевой панели папка, у которой в имени самое большое число.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

надо их по 4-10 файлов переместить в целевую панель с таким учетом, чтоб создать самому одну папку
Вот эта фраза напрочь сбила. Кому здесь какая разница, по сколько файлов кто захочет перемещать? Если речь идёт именно о разбиении на части, то это вообще в другую активную тему. И что значит "создать самому"? Т.е. без помощи скрипта? В общем, в начале было и то яснее. Мою формулировку можно было хотя бы подтвердить или опровергнуть вместо переносов разговора в приват, да ещё и не со мной...

2. Насчёт "разумеется" я бы поспорил, п.ч. подавляющее большинство скриптов и батников с приращением, приведённых на этом форуме, именно забивает пустоты.
zlodei1988
Сообщения: 10
Зарегистрирован: Ср сен 28, 2011 21:10

Сообщение zlodei1988 »

Дело в том, нужно именно задать первую папку с именем не 1, а 3150 к примеру и от нее уже все пойдет! А сделать можно и с пустотами, потом пустую папку не сложно удалить!
ХОЧУ ВСЕ ЗНАТЬ
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

zlodei1988 писал(а):Дело в том, нужно именно задать первую папку с именем не 1, а 3150
А я где-то про 1 писал?
Добавлено: Я правильно понимаю, что под "первой" понимается вообще любая папка, впервые оказавшаяся в месте назначения? Или первая - эта та, которая впервые создана с помощью скрипта в конкретном месте?
zlodei1988 писал(а):потом пустую папку не сложно удалить!
Какую пустую папку? Ту, которая создаётся? Как же она может быть пустой, если в неё переместятся файлы?

На остальное отвечать будем? В общем, мне нужно увидеть все действия скрипта (не самостоятельные) попунктно.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Код: Выделить всё

@echo off &setlocal enableextensions &chcp 1251 >nul
rem Перемещение выделенного в следующую по порядку папку
rem Пример параметров: "%L" "%T"
rem Автор: Tol!k

call :ddd %2
del /q "%temp%\ddd"
if "%n%"=="" set "n=001"
if "%p%"=="2" set "n=1%n%"
set "trg=%~2%n%"
md "%trg%" ||(echo/Не удалось создать следующую папку&pause&exit/b)

for /f "usebackq delims=" %%f in ("%~1") do call :m "%%f" "%%f."
exit /b

:m
set "name=%~1" &title %1
if "%name:~-1%"=="\" (
  xcopy "%name:~0,-1%" "%trg%\%~nx2" /i /s/e /k/r/h >nul &&rd /s /q %1
) else (
  echo f|xcopy %1 "%trg%" /k/r/h >nul &&(attrib -h -r -s %1 &del /q %1)
)
goto :eof

:ddd
dir /b/ad/o-n %1 |findstr /rbec:[0-9]* >"%temp%\ddd"
for /f "delims=" %%d in (
'findstr/rxc:...... "%temp%\ddd"^&findstr/rxc:..... "%temp%\ddd"^&findstr/rxc:.... "%temp%\ddd"^&findstr/rxc:... "%temp%\ddd"^&findstr/rxc:.. "%temp%\ddd"^&findstr/rxc:. "%temp%\ddd"'
) do (set /a n=1%%d+1 &call set "p=%%n:~0,1%%" &call set "n=%%n:~1%%" &exit /b)
goto :eof
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Tol!k
А ты не поспешил сделать батник, если не уточнено ряд моментов, на которые я обратил внимание (разбиение на части, максимум, пустоты, создание первой папки и т.п.)?
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Проблемы индейцев шерифа не е... Сделал так, как понял запрос.
Первая папка задаётся в строке if "%n%"=="" set "n=001"
Пустоты не заполняются. Max номер 1000000
Про разбиение на части первоначально не было, да и последующее уточнение я понял как ручное выделение
Последний раз редактировалось Tol!k Чт сен 29, 2011 23:53, всего редактировалось 1 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Tol!k
Я понял, что руки зачесались сделать, а терпеть невмоготу... :lol:
Ты название первой папки хотя бы в параметр вынеси. :wink:
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Flasher писал(а):Я понял, что руки зачесались сделать, а терпеть невмоготу... :lol:
Правильно понял. И переделывать скорее всего не буду, п.ч. любопытство удовлетворено
Flasher писал(а):Ты название первой папки хотя бы в параметр вынеси. :wink:
Тогда его нужно будет проверять на число /не число
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Tol!k писал(а):Тогда его нужно будет проверять на число /не число
С этим в батниках есть какие-то проблемы?
Ответить