PDA

Показать полную графическую версию : [решено] Короткий формат даты


Hardip
19-11-2010, 19:32
Вот что интересно.. Делаю, так чтобы файлы складывались в директорию с номером месяца, когда был создан файл. т.е. 1.txt создан 29.12.2009, соответственно он должен лежать в папке 12. Я делаю вот так
forfiles /P "C:\Temp" /M *.* /C "cmd /C md D:\@fdate | move @file D:\@fdate"
Но он раскладывает не по месяцам, а по полной дате 29.12.2009, а вот чтобы месяца в коротком формате -
for /f "tokens=1-3 delims=. " %%a in ('date /t') do (echo "%%b")
Делаю так..set /p folder="Ukagite put' naprimer C:\1 :"
forfiles /P "%Folder%" /M *.*
/C "cmd /C for /f "tokens=1-3 delims=. " %a in ('date /t') do (echo "%b") |
md %Folder%\@fdate | move @file %Folder%\@fdate"
Не могу понять почему не верно?
Есть мысли насчёт %date:~3% но не знаю как..

amel27
21-11-2010, 11:28
Есть мысли насчёт %date:~3% но не знаю как.. »
@echo off
SetLocal EnableDelayedExpansion

for %%f in (*) do (
set "$t=%%~tf"
if not exist "!$t:~3,2!\" md "!$t:~3,2!"
if exist "!$t:~3,2!\" move "%%f" "!$t:~3,2!\"
)

Hardip
21-11-2010, 13:05
Ого! Форум, а в частности, Вы amel27, очень мне помогаете! Спасибо большое!




© OSzone.net 2001-2012