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

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

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

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


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

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


Здравствуйте, уважаемые форумчане.
Подскажите, пожалуйста, как создать папку имя которой будет дата создания файла посредством bat-файла?

Т.е. есть папка - в ней файлы с разными датами создания.
Хотелось бы, чтобы рядом с этими файлами создались папки - имена которых будут даты создания файлов.

Отправлено: 10:13, 07-07-2010

 

Ветеран


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

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


Arttem,
А чем не устраивает 01...12? Можно и буквами:
Код: Выделить весь код
....
    )
)


set d=0%d%
for /f "tokens=%m%" %%i in ("a b c d e f g h i k l m") do set "m=%%i" 
set yesterday=%d:~-2%%m%%y:~-2%

echo %yesterday%

Отправлено: 10:38, 11-08-2011 | #11



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

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


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


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

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


отредактировал предыдущую просьбу

Отправлено: 11:55, 11-08-2011 | #12


Ветеран


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

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


Цитата Arttem:
1. Строка set /a feb=y%%4 Я так понимаю, это високосный год или нет, но что конкретно делает y%%4 »
Это арифметическая операция, получающая остаток от деления set /a var=6%4, в батниках знак процента удваивается
Цитата Arttem:
2. Я не знаю что значит операция присвоения -= »
Это сокращенный вариант от set /a var=var-2 (т.е. set /a var-=2 тоже самое)
Код: Выделить весь код
set /?
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:17, 11-08-2011 | #13


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


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

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


Похожий вопрос:

есть туча папок с файлами внутри. Нужно пройтись по всем папкам, взять год последнего изменения каждого файла и переместить файлы по пути год изменения\имя исходной папки, в которой найден файл\файл

Долго ваял и наваял вот такое

Код: Выделить весь код
FOR /R "D:\_exp" %%G in (.) DO (
	Pushd %%G
	set dirname=%%G
	     for %%a in (dir *.* /b) do (
             for /f "skip=5 tokens=1" %%w in ('dir *.* /t:w') do (
                   set year=%%w& set newdirname=%year:~6,4%& move /y %%a D:\_exp\%newdirname%\%dirname%\ )
		)
Popd )
Оно не работает.
Что не так, подскажите? А то мозги уже несколько кипят.

Последний раз редактировалось ffs2001, 10-03-2012 в 19:44.


Отправлено: 19:21, 10-03-2012 | #14


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


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

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


Всем спасибо
Разобрался сам:

Код: Выделить весь код
FOR /D /R "D:\_exp\" %%G in (.) DO (
	Pushd %%G
		for %%a in (*.*) do (for /f "tokens=3 delims=.: " %%b in ("%%~ta") do MD "D:\_exp\%%b\%%~nxG"& copy "%%a" "D:\_exp\%%b\%%~nxG")
	Popd )
Думаю, кому-нибудь пригодится.

Отправлено: 23:37, 10-03-2012 | #15


Аватара для seriych

Старожил


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

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


Цитата gora:
@Echo OFF&Chcp 866>Nul
Set $SCR="F:\vbs_bat_js_ps\batch\D-make folder\*.*"
for %%a in (%$SCR%) do (for /f "tokens=1" %%b in ("%%~ta") do MD "%%~dpa%%~b" 2>Nul&Move "%%a" "%%~dpa%%~b")
pause »
А как модифицировать, чтобы названия папок были не 15.05.2012, а 2012.05.15?

-------
* Книгой можно не только стаканчик с лапшой накрывать. ©


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


Ветеран


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

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


seriych,
Код: Выделить весь код
for %%a in (%$SCR%) do (

    for /f "tokens=1-3 delims=. " %%b in ("%%~ta") do (
        
        2>nul md "%%~dpa%%d.%%c.%%b"
        move "%%a" "%%~dpa%%d.%%c.%%b"

))
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:13, 15-05-2012 | #17



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Записать имя папки в которой лежит батник в переменную а потом эту же папку переим. bobr95 Скриптовые языки администрирования Windows 8 10-04-2012 18:42
CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д. Nun-Nun Скриптовые языки администрирования Windows 6 13-05-2009 13:28
ALTLinux - Как наложить на JPG текст (дата создания файла) user51 Общий по Linux 6 30-06-2008 15:37
Доступ - Как удалить папку в которой была установлена Vista???? livegrafics Microsoft Windows Vista 1 21-07-2007 10:43
Как создать переменную, имя которой такоеже как значение + несколько латин. символов? E-mail Вебмастеру 12 26-11-2005 10:14




 
Переход