|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как создать папку имя которой будет дата создания файла ? |
|
|
CMD/BAT - [решено] Как создать папку имя которой будет дата создания файла ?
|
Новый участник Сообщения: 4 |
Профиль | Отправить PM | Цитировать Здравствуйте, уважаемые форумчане.
Подскажите, пожалуйста, как создать папку имя которой будет дата создания файла посредством bat-файла? Т.е. есть папка - в ней файлы с разными датами создания. Хотелось бы, чтобы рядом с этими файлами создались папки - имена которых будут даты создания файлов. |
|
Отправлено: 10:13, 07-07-2010 |
Пользователь Сообщения: 140
|
Профиль | Отправить PM | Цитировать @Echo OFF&Chcp 866 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") pause Справка: Set /?, For /?, MD /? Похожая тема: http://forum.oszone.net/post-1443909-6.html Это единственное действие или предполагаются еще какие-нибудь манипуляции? |
Последний раз редактировалось deepred, 07-07-2010 в 13:10. Причина: Справка + Вопрос Отправлено: 10:50, 07-07-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Спасибо большое, получилось!
|
Отправлено: 10:15, 08-07-2010 | #3 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Vitaly_Sigov, подскажите,
необходимо в созданные таким образом папки переместить файлы из-за которых они были созданы т.е. если файл был создан 10.01.01 была создана папка 10.01.2001 и в эту папку нужно переместить все файлы созданные 10.01.01 как в этом случае будет выглядить код? |
Отправлено: 13:10, 10-09-2010 | #4 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата WindBlow:
|
||
Отправлено: 13:54, 10-09-2010 | #5 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать gora,
благодарю! то что нужно! |
Отправлено: 14:09, 10-09-2010 | #6 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Может быть не много не в тему, но может кто подскажет..
Необходимо сравнить даты уже существующих файлов (D:\Backup\*.rar) с текущей датой. Я так понимаю это нужно сделать с применением цикла FOR, но я только начал разбираться в bat и не могу допереть.. |
Последний раз редактировалось XuTPbIu, 03-03-2011 в 17:36. Отправлено: 17:24, 03-03-2011 | #7 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Взял из другой темы! Это поиск по маске, но тут еще сортировка /a -по атрибутам /o -по дате
for /f "tokens=*" %%i in ('dir /b /o:-d /a:d "c:\1\321*.*"') do set sName=%%i if defined sName echo %sName% Как полльзоваться сокращением ~ переменной? Конкретнее - как ввести %date% чтобы получить "09811", т.е. ddmee предыдущего дня (не вижу смысла создавать новую тему -вопрос вроде пустяковый- но очень надо.) Заранее спасибо! |
Последний раз редактировалось Arttem, 10-08-2011 в 17:16. Отправлено: 16:48, 10-08-2011 | #8 |
Ветеран Сообщения: 1758
|
Цитата Arttem:
Цитата Arttem:
@echo off setlocal enabledelayedexpansion set d=%date:~0,2% set m=%date:~3,2% set y=%date:~6,4% if %d:~0,1%==0 set d=%d:~1% if %m:~0,1%==0 set m=%m:~1% set /a feb=y%%4 if %feb%==0 (set feb=29) else (set feb=28) set /a tok=m-1 if %tok%==0 set tok=12 for /f "tokens=%tok%" %%i in ("31 %feb% 31 30 31 30 31 31 30 31 30 31") do ( set /a d-=1 if !d!==0 ( set d=%%i set m=%tok% if !m!==12 set /a y-=1 ) ) set d=0%d% set m=0%m% set yesterday=%d:~-2%.%m:~-2%.%y% echo %yesterday% |
||
Отправлено: 18:44, 10-08-2011 | #9 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Foreigner, спасибо.
Можешь пояснить нек-е нюансы, дабы во всем разобраться во всем. 1. Строка set /a feb=y%%4 Я так понимаю, это високосный год или нет, но что конкретно делает y%%4 2. Я не знаю что значит операция присвоения -= Вообще там должны быть в 10-12месяцах, не цифры а какие-то др. символы (еще не знаю), например x y z. Но это фиг с ним. Потом сам. |
Последний раз редактировалось Arttem, 11-08-2011 в 11:50. Отправлено: 10:10, 11-08-2011 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 | |
Как создать переменную, имя которой такоеже как значение + несколько латин. символов? | Вебмастеру | 12 | 26-11-2005 10:14 |
|