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

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

Ответить
Настройки темы
CMD/BAT - [решено] батник для создания папки с текущей датой + время

Аватара для aggressor_

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


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


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

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


Добрый день, мне необходим bat файл, чтобы при его выполнении создавалась папка с текущей датой + время.
Напр: 20.01.2011 (15:43:17)
команда: MD %date:~-10% создаёт только с датой.
Пожалуйста, помогите решить данную проблему.

Отправлено: 15:46, 20-01-2011

 

Аватара для aggressor_

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


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

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


Нет, моя команда как была только при нажатии на папку, так и осталась там. На Рабочем столе и на пустых местах папки в контекстном меню не появилась.
У меня XP, раздела shell в Background нету...поэтому делал всё в:
Код: Выделить весь код
HKEY_CLASSES_ROOT\Directory\shell\ITEMFOLDER

Отправлено: 01:22, 23-01-2011 | #11



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

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


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


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

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


Цитата aggressor_:
Нет, моя команда как была только при нажатии на папку, так и осталась там. На Рабочем столе и на пустых местах папки в контекстном меню не появилась.
У меня XP, раздела shell в Background нету...поэтому делал всё в: »
Раздел,"shell в Background" там как раз, то и есть(должен быть во всяком случае), но...
Я начинаю забывать добрую, проверенную ХР. Оказывается там такой вариант не прокатывает.Я тут "погуглил"немного,(кстати, а тебе ,что лень?), и нашел, сразу в первой строке:
http://tuning-xp.ucoz.ru/index/0-21
Полистай, если сильно требуется, а вообще я раньше пользовался какой-то прогой(не помню названия), так в ней предлагаются не только прописанные пункты, но и возможность добавления(неограниченнного) своих комманд.Т.е.Прописал команду, например:
mkdir %date% %time:~0,-3%
Желаю успехов.Если пойдёш путём редактирования "Shell32.dll", дай знать - интересно, как у тебя получится.

Отправлено: 03:28, 23-01-2011 | #12


Аватара для shao

Ветеран


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

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


Цитата Iska:
Код: Выделить весь код
set sFolderName=%date% (%time:~0,-3%) 
md "%sFolderName::=-%"
»
А можно поподробнее, как это работает ?
Начиная с (%time:~0,-3%) ?
Спасибо !

Отправлено: 09:47, 26-01-2011 | #13


Ветеран


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

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


Код: Выделить весь код
%time:~0,-3%
— убираем сотые доли секунд.
Код: Выделить весь код
%sFolderName::=-%
— меняем в строке, содержащейся в переменной окружения «sFolderName» символ «:» (недопустимый в именах файловой системы) на «-»:
Код: Выделить весь код
%<имя переменной окружения>:<что меняем>=<на что меняем>%
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:57, 26-01-2011 | #14


Аватара для caustic

Новый участник


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

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


Добрый день, помогите пожалуйста правильно внедрить переменную %date% в листинг моего батника:

PHP код: Выделить весь код

for /"tokens=*" %%i in (fullname.txt) do ( rename "cigi_PMI\%%i" 

т.е. в результате нужно чтобы создалась папка с именем"cigi_PMI [текущая дата]"

Отправлено: 12:19, 22-04-2011 | #15


Googler


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

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


Цитата caustic:
чтобы создалась папка с именем"cigi_PMI [текущая дата]" »
Код: Выделить весь код
MD "cigi_PMI [%DATE%]"
не понятна связь с кодом приведенного батника... батник перебирает содержимое файла fullname.txt (что в этом файле?) и что-то должен с этими строками сделать (что?), команда RENAME для своей работы требует два параметра, а не один

Отправлено: 12:30, 22-04-2011 | #16


Аватара для caustic

Новый участник


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

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


PHP код: Выделить весь код

echo off cigi.txt
dir cigi 
/>> cigi.txt

@echo off>img.txt
dir img 
/>>img.txt

cscript doit
.vbs cigi.txt img.txt fullname.txt
for /"tokens=*" %%i in (fullname.txt) do ( rename "cigi_PMI\%%i" )

Del cigi.txt img.txt fullname.txt 

в общих чертах: батник создает txt-списки файлов из двух разных папок, и с помощью скрпипта объединяет их в один fullname.txt. откуда берет построчно новые имена и переименовывает файлы из папки cigi копируя их во вновь созданную папку cigi_PMI.

кстати, переменную %DATE% внедрить не получилось т.к. папку cigi_PMI создает скрипт doit.vbs. а если в нем подправить листинг и сделать так, чтобы папка создавалась с текущей датой (к примеру cigi_PMI [22.04.11])
то возможно ли каким то образом научить батник находить эту папку (у которой название будет меняться по крайней мере раз в день )и уже работать с ней на этапе:
PHP код: Выделить весь код

for /"tokens=*" %%i in (fullname.txt) do ( rename "cigi_PMI\%%i" 

?

Отправлено: 12:59, 22-04-2011 | #17


Новый участник


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

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


Здравствуйте, а есть возможность сделать так, чтоб батник каждый день создавал, папки в таком варианте C:\Ftp\smtp\2015\04\20
т.е с каждым месяцем, на месяц новую папку и с каждым днем, так же на каждый день новую папку

Отправлено: 23:56, 21-04-2015 | #18


Ветеран


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

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


irshat, выбирайте:

Код: Выделить весь код
@ 2>nul md "C:\Ftp\smtp\%date:~6,4%\%date:~3,2%\%date:~,2%"
;
Код: Выделить весь код
@ 2>nul md "C:\Ftp\smtp\%date:~-4%\%date:~-7,2%\%date:~-10,2%"
;
Код: Выделить весь код
@for /f "tokens=1-3 delims=.-/" %%i in ("%date%") do @ 2>nul md "C:\Ftp\smtp\%%k\%%j\%%i"
;
Код: Выделить весь код
@for /f "tokens=1-3 delims=.-/ " %%i in ('date/t') do @ 2>nul md "C:\Ftp\smtp\%%k\%%j\%%i"
.
Обратите внимание на разницу в написании третьего и четвёртого вариантов: в последнем в перечень возможных разделителей добавляется ещё и пробел, так как вывод команды "date/t" в отличие от строки "%date%" оканчивается на пробел.



В PowerShell ещё проще:
Код: Выделить весь код
New-Item ('C:\Ftp\smtp\'+(Get-Date -format 'yyyy\\MM\\dd')) -ItemType 'Directory' -Force
,
только нельзя забывать, что буквы "M" должны быть в верхнем регистре, а буквы "y" и "d" -- в нижнем.
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:18, 22-04-2015 | #19


Новый участник


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

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


Цитата Georgio:
@ 2>nul md "C:\Ftp\smtp\%date:~6,4%\%date:~3,2%\%date:~,2%" »
от души, как раз то что надо
и как сам не догадался, вроде об этих командах и так знал

Отправлено: 05:32, 22-04-2015 | #20



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Копирование с флешки в папку на компьютере файлов с текущей датой bazik83 Скриптовые языки администрирования Windows 6 19-05-2010 10:17
CMD/BAT - Нужен батник для создания каталога с текущей версией ОС Скуб Скриптовые языки администрирования Windows 4 11-05-2010 14:26
Любой язык - Батник (скрипт) для создания odbc ITSpec Скриптовые языки администрирования Windows 2 09-12-2009 10:32
CMD/BAT - [решено] Проверить наличие файла с текущей датой. OlegStarov Скриптовые языки администрирования Windows 4 21-04-2009 12:11
Как изменить время создания папки bilytur Хочу все знать 20 19-09-2003 16:11




 
Переход