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

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

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

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


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

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


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

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

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

 

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


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

Профиль | Отправить 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
$SCR- твоя папка
Справка: Set /?, For /?, MD /?
Похожая тема: http://forum.oszone.net/post-1443909-6.html

Это единственное действие или предполагаются еще какие-нибудь манипуляции?

Последний раз редактировалось deepred, 07-07-2010 в 13:10. Причина: Справка + Вопрос

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

Отправлено: 10:50, 07-07-2010 | #2



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

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


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


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

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


Спасибо большое, получилось!

Отправлено: 10:15, 08-07-2010 | #3


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


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

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


Vitaly_Sigov, подскажите,
необходимо в созданные таким образом папки переместить файлы из-за которых они были созданы
т.е. если файл был создан 10.01.01 была создана папка 10.01.2001 и в эту папку нужно переместить все файлы созданные 10.01.01
как в этом случае будет выглядить код?

Отправлено: 13:10, 10-09-2010 | #4


Аватара для gora

Ушёл из жизни


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

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


Цитата WindBlow:
была создана папка 10.01.2001 и в эту папку нужно переместить все файлы созданные 10.01.01 »
Код: Выделить весь код
@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
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:54, 10-09-2010 | #5


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


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

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


gora,
благодарю! то что нужно!

Отправлено: 14:09, 10-09-2010 | #6


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


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

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


Может быть не много не в тему, но может кто подскажет..
Необходимо сравнить даты уже существующих файлов (D:\Backup\*.rar) с текущей датой.
Я так понимаю это нужно сделать с применением цикла FOR, но я только начал разбираться в bat и не могу допереть..

Последний раз редактировалось XuTPbIu, 03-03-2011 в 17:36.


Отправлено: 17:24, 03-03-2011 | #7


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


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

Профиль | Отправить 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


Ветеран


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

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


Цитата Arttem:
Конкретнее - как ввести %date% чтобы получить "09811", т.е. ddmee предыдущего дня »
А если октябрь-декабрь? 10-12?
Цитата 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
Благодарности: 0

Профиль | Отправить 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



Компьютерный форум 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




 
Переход