Копирование файлов из динамической структуры папок [Windows]

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

Имя исходной папки является динамическим и начинается с ежедневной даты (т. Е. «06-фев-13»). Как я могу создать пакетный файл, который сможет определить ежедневную дату и найти эту папку?

Заранее спасибо.

1
nl ja de
Вы пробовали это
добавлено автор user2166576, источник
Спасибо @ACB, это было в основном тем, что я искал!
добавлено автор trigun0x2, источник

3 ответы

@echo off
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a%%b)
echo %mydate%_%mytime%

Эта ссылка поможет вам.

1
добавлено
Чтобы добавить этот ответ, см. Раздел «Карта и поиск» на странице DOS String Manipulation чтобы узнать, как преобразовать 2-значный месяц в его альфа-аббревиатуру.
добавлено автор rojo, источник
Вы можете проголосовать за комментарии, а также ответы, чтобы увеличить его ценность
добавлено автор user2166576, источник
@rojo Спасибо за помощь!
добавлено автор trigun0x2, источник

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

@echo off
setlocal
for /f %%I in ('dir /t:c /o:d /b "c:\path\to\containing\dir\*."') do set dir=%%I
copy "%dir%\*.*" "c:\destination\folder"

Обратите внимание, что я делаю dir "путь \ *." , а не dir "путь \ *. *" . *. будет соответствовать каталогам, но не файлам.

0
добавлено
@JeffreyTong - в этом случае что вы пробовали ?
добавлено автор rojo, источник
Это не самая новая папка. Все папки создаются в одно и то же время, но только что названы в дате.
добавлено автор trigun0x2, источник
Я искал что-то, чтобы отобразить текущую дату, поэтому я могу усечь его в соответствующем формате и использовать его как имя каталога.
добавлено автор trigun0x2, источник

Вот окончательное решение, которое я придумал для даты:

@echo off

REM -- Convert number to 3 character month--

set v=%date:~4,2%
SET map=01-Jan;02-Feb;03-Mar;04-Apr;05-May;06-Jun;07-Jul;08-Aug;09-Sep;10-Oct;11-Nov;12-Dec
CALL SET v=%%map:*%v%-=%%
SET v=%v:;=&rem.%

set y=%date:~12,4%
set d=%date:~7,2%

set "mydate=%d%-%v%-%y%"

echo %mydate%
0
добавлено
Про Windows
Про Windows
941 участник(ов)

Microsoft Windows и всё, что с этим связано. Список интересных групп и каналов: https://github.com/goq/telegram-list

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot