|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Назначить переменную названия папки имя которой неизвестно |
|
CMD/BAT - Назначить переменную названия папки имя которой неизвестно
|
Пользователь Сообщения: 141 |
Профиль | Отправить PM | Цитировать Есть код который создает папки от имен .exe файлов и перекидывает туда .exe и .bmp файлы которые лежат в той-же папке a .txt файлы не в конечный путь.
@echo off for %%f in (*.exe,*.bmp) do ( md "%%~nf\Имя папки"" move "%%f" "%%~nf\Имя папки" ) for %%f in (*.txt do ( move "%%f" "%%~nf" ) Exit /B Я хочу добавить это действие на правый клик мыши с командой "переместить файлы" и для того что-бы имя папки не прописывать в скрипт я хочу создать папку с нужным мне названием в рабочей папке, а скрипт будет работать создавая имя этой папки. Теперь исходя из того что имя папки будет носить то имя папки которую я создал, я использовал в скрипте строку таким образом @echo off for /f %d in ('dir /B /A:D %CD%') do set "foldername=%~d" for %%f in (*.exe,*.bmp) do ( md "%%~nf\%foldername%" move "%%f" "%%~nf\%foldername%" ) for %%f in (*.txt do ( move "%%f" "%%~nf" ) Exit /B И вот вопрос, как назначить неизвестное имя папки в переменную, которая бы назначала эти имена создаваемых папок в скрипте ? |
|
------- Отправлено: 15:34, 01-05-2024 |
Deadooshka Сообщения: 2499
|
Профиль | Отправить PM | Цитировать А в какой ветке прописываете - * или directory? Вызов из реестра вроде бы не меняет текущую директорию. Какой-нибудь cd /d "%V" надо вручную прописать либо в реестре с командой типа "cmd.exe /c (cd /d "%V" && script.bat)", либо передать %V в качестве параметра скрипту, в котором это будет %1
|
Отправлено: 20:45, 01-05-2024 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 141
|
Профиль | Отправить PM | Цитировать Цитата Sham:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\Поместить файлы в папки] "Icon"="C:\\Users\\SomeUserName\\AppData\\Roaming\\MyProgram\\icons\\MyIcon.ico" [HKEY_CLASSES_ROOT\*\shell\Поместить файлы в папки\command] @="C:\\Users\\SomeUserName\\AppData\\Roaming\\MyProgram\\MoveFiles.exe \"%1\"" На счет смены директории то все фичи которые я добавлял ранее, работают безотказно. |
|
------- Отправлено: 21:04, 01-05-2024 | #3 |
Deadooshka Сообщения: 2499
|
Профиль | Отправить PM | Цитировать передаёте контекстный файл %1 в параметры, а используете %CD% - как это понимать?
|
Отправлено: 21:24, 01-05-2024 | #4 |
Пользователь Сообщения: 141
|
Профиль | Отправить PM | Цитировать Цитата Sham:
|
||
------- Отправлено: 22:31, 01-05-2024 | #5 |
Deadooshka Сообщения: 2499
|
Профиль | Отправить PM | Цитировать Какие критерии выбора этой неизвестной папки? %foldername% содержит имя последней папки при сортировке по-умолчанию (по имени). dir /B /A:D /O:D даст самую свежую папку в конце.
|
Отправлено: 23:43, 01-05-2024 | #6 |
Пользователь Сообщения: 141
|
Профиль | Отправить PM | Цитировать Проблему с перетаскиванием решил создавая файл вместо папки.
Создаю файл с нужным мне именем с любым расширением (в моем случае .ai) Конвертировав батник в .exe работает из папки на правый клик мышки |
------- Отправлено: 23:58, 02-05-2024 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удаление файлов из папки, имя которой всегда разное | BKPB | Скриптовые языки администрирования Windows | 17 | 27-05-2020 10:25 | |
Delphi - Присвоить файлу имя папки в которой он находится | Fly5 | Программирование и базы данных | 10 | 22-06-2015 14:28 | |
CMD/BAT - [решено] Найти в реестре параметр и записать в переменную имя ветки в которой он находится | root221 | Скриптовые языки администрирования Windows | 11 | 25-11-2012 07:54 | |
CMD/BAT - [решено] Записать имя папки в которой лежит батник в переменную а потом эту же папку переим. | bobr95 | Скриптовые языки администрирования Windows | 8 | 10-04-2012 18:42 | |
Как создать переменную, имя которой такоеже как значение + несколько латин. символов? | Вебмастеру | 12 | 26-11-2005 10:14 |
|