Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Дубликат папки/файла

Ответить
Настройки темы
CMD/BAT - [решено] Дубликат папки/файла

Ветеран


Сообщения: 1274
Благодарности: 564


Конфигурация

Профиль | Отправить PM | Цитировать


Как правильно создать батник который создает папку или файл, проверяет есть ли она/он перед этим и если есть добавляет к имени 1, есть 1, то 2 и т.д.
точно также как в контекстном меню создать ПКМ на папке/файле. "Новая папка", при наличии - "Новая папка1"... Как-то в for надо указать бесконечность ...(1,1,?)
а может вообще по-другому.
Да и подскажите как свое сообщение перенести из темы в тему.
Спасибо заранее!

Отправлено: 16:32, 12-05-2015

 

Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


iccup.platoon@vk,
Да так работает - спасибо! Я использую стороннюю программу для редактирования контекстного меню поэтому у меня код следующий

@echo off
cd /d "%~dp2"
set fldr= %date% %time:~0,-3%
set fldrPath=%fldr::=. %
mkdir "%fldrPath%"
start "" "%fldrPath%"
exit

И немного изменил формат представления времени - так визуально лучше смотрится, хотя на любителя. Но тему не закрываю, хочется все же того, что написал в шапке.

Отправлено: 01:08, 13-05-2015 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для iccup.platoon@vk

Пользователь


Сообщения: 82
Благодарности: 9

Профиль | Сайт | Отправить PM | Цитировать


Покажите на примере список предполагаемых названий папок.

-------
Да, я дотошный. Да, я всегда уточняю цели. Зато выполняю задание на совесть.


Отправлено: 03:12, 13-05-2015 | #12


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


iccup.platoon@vk,
Да, в принципе, нет разницы (особой) как они называются - хотя, в идеале надо чтобы я сам мог задавать им название.
Главное чтобы содав папку шла проверка что папка с таким именем существует и следующая папка создавалась с тем же именем,
но с цифрой 1(2), 2(3),... т.е. по шаблону <имя папки> <номер>, <имя папки> <номер+1>, ... .

Отправлено: 12:27, 13-05-2015 | #13


Аватара для iccup.platoon@vk

Пользователь


Сообщения: 82
Благодарности: 9

Профиль | Сайт | Отправить PM | Цитировать


Код: Выделить весь код
@echo off
mkdir %cd%\dirtest
cls
set dirname=Papka
echo Enter the number of folders to create
set /p dirnumber=
for /L %%i in (1,1,%dirnumber%) do (
	mkdir "%cd%\dirtest\%dirname%%%i"
)
Спросит сколько папок создать, требует введения числа Переменная dirname хранит в себе шаблон имени, к которому будет подставлен номер. Я помню о необходимости проверки существования папки, если вы опишите - что должно происходить при существовании или не существовании папок, я предоставлю вам весь батник.

-------
Да, я дотошный. Да, я всегда уточняю цели. Зато выполняю задание на совесть.


Отправлено: 12:59, 13-05-2015 | #14


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


iccup.platoon@vk,
Да все банально должно происходить, нет такой (первой ("нулевой")) папки - создаем первую ("нулевую") и радуемся, хотим coздать еще одну - создается ее типа копия (в смысле имени) с уже номером+1 и т.д. Создается по команде только одна папка и при этом никто и нигде не должен матюкаться, что папка с таким именем уже существует. Я изначально хотел сделать <имя папки> <дата,время>, ну не хотел, а как вариант - но, во-первых длинное название получается часто, этого даты с именем я уже не вижу папки на одно лицо, во-вторых у меня и так достаточно будет дат и времен - ни к чему, номер - идеал. Я не буду (не планирую) вводить номер(а) папки, только задам ей свое имя.

Последний раз редактировалось alpap, 13-05-2015 в 13:45.


Отправлено: 13:36, 13-05-2015 | #15


Аватара для iccup.platoon@vk

Пользователь


Сообщения: 82
Благодарности: 9

Профиль | Сайт | Отправить PM | Цитировать


я однозначно повержен

-------
Да, я дотошный. Да, я всегда уточняю цели. Зато выполняю задание на совесть.


Отправлено: 16:16, 13-05-2015 | #16


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Georgio,
Вот это дааа! Нет, я бы такое и близко не сделал - превзошло все ожидания. Спасибо огромное, все работает супер - проверил. Немного лишнее для меня - опрос имени папки, но это даже интереснее, тем более лучше больше чем меньше да и есть чему поучиться еще где-нибудь применю.

Отправлено: 00:47, 14-05-2015 | #17


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Georgio,
Да мне Ваш вариант даже больше понравился, окно только меньше сделал - для красоты, надеюсь правильно (работает).

mode con cols=30 lines=1
@echo off
cd /d "%~dp2"
set/p name=Введите имя папки:
echo %name%
if defined name (
for /f "delims=" %%i in ('
2^>nul dir/ad/b "%name%*"^| findstr/irc:"^%name%[1-9][0-9]*$"
') do (
set x=%%i
for /f %%j in ('
cmd/v/c echo "!x:*%name%=!"
') do (
for /f %%k in ('
set/a max
') do (
if %%~j gtr %%k (
set/a max=%%~j+1
)
)
)
)
) else (
exit/b 1
)
if defined max (
for /l %%i in (1 1 %max%) do (
for /f %%j in ('
set/a %%i+1
') do (
2>nul md "%name%%%j"&& (
exit/b 0
)
)
)
) else (
2>nul md "%name%"|| (
md "%name%1"
)
exit/b 0
)

Отправлено: 18:24, 14-05-2015 | #18


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Georgio,
Про параметр "%1" не понял, а cd /d "%~dp2" я использую потому что у меня стоит сторонняя программа для редактирования контекстного меню и таким образом перехожу в нужную мне для работы директорию. А за кавычки - спасибо.

Отправлено: 19:12, 14-05-2015 | #19



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Дубликат папки/файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - свойства папки/файла berloga41 Microsoft Windows 2000/XP 2 15-10-2013 00:49
CMD/BAT - копирование папки или файла vxor Скриптовые языки администрирования Windows 8 22-06-2012 23:51
Разное - [решено] Появился дубликат учетной записи, с добавочным именем компьютера RUVATA Microsoft Windows 2000/XP 3 15-02-2011 12:25
Разное - Ошибка при переименовании папки, файла vit063 Microsoft Windows Vista 6 22-07-2010 10:33
Вес файла и папки Nealles Программирование и базы данных 1 25-02-2004 20:31




 
Переход