Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Xcopy. Добавление даты (http://forum.oszone.net/showthread.php?t=347003)

prap0rdanyluk 12-11-2020 06:01 2939628

Xcopy. Добавление даты
 
Всем привет!
Имею следующий скрипт:
@echo off
taskkill /im outlook.exE
TIMEOUT 10
xcopy "%userprofile%\AppData\Local\Microsoft\Outlook\*.ost" /y \\mycloudpr4100\outlook_backup
start "" "C:\Program Files\Microsoft Office\root\Office16\outlook.exe"

Прошу помощи!
Необходимо, чтобы к каждому ost файлу добавлялась текущая дата.

/d:%DATE:~3,2%-%DATE:~,2%-%DATE:~6,4%

Не понимаю, как дописать, чтобы применить массово.

megaloman 12-11-2020 09:19 2939636

Цитата:

Цитата prap0rdanyluk
Необходимо, чтобы к каждому ost файлу добавлялась текущая дата. »

Что Вы имеете ввиду? Переименовать файлы? Куда дату добавлять? Если переименовать, то
Цитата:

Цитата prap0rdanyluk
как дописать, чтобы применить массово. »

Никак. /d в xcopy служит для фильтрации файлов по дате, а не для их переименования. Как вариант, (в рамках Xcopy), сделать для копии файлов папку с текущей датой (XCopy это сделает сама), например, в Вашем коде:
Код:

xcopy "%userprofile%\AppData\Local\Microsoft\Outlook\*.ost" /y "\\mycloudpr4100\outlook_backup\%DATE:~3,2%-%DATE:~,2%-%DATE:~6,4%\"

prap0rdanyluk 12-11-2020 09:44 2939638

Ага, огромное спасибо! То, что нужно!

megaloman 12-11-2020 09:58 2939645

prap0rdanyluk, Я бы предпочел иметь другой формат даты: ГГГГММДД, это выгоднее при сортировке файлов во время поиска по дате. В рамках Вашего кода:
Код:

FOR /F "tokens=2 delims==." %%d in ('WMIC OS GET LOCALDATETIME /VALUE') DO SET "TDate=%%d"
Set "TDate=%TDate:~0,8%"

xcopy "%userprofile%\AppData\Local\Microsoft\Outlook\*.ost" /y "\\mycloudpr4100\outlook_backup\%TDate%\"

Но если уж очень хочется переименовывать именно файлы, то:
Код:

FOR /F "tokens=2 delims==." %%d in ('WMIC OS GET LOCALDATETIME /VALUE') DO SET "TDate=%%d"
Set "TDate=%TDate:~0,8%
For %%f In ("%userprofile%\AppData\Local\Microsoft\Outlook\*.ost") Do Copy "%%f" "\\mycloudpr4100\outlook_backup\%TDate%-%%~nxf"



Время: 07:01.

Время: 07:01.
© OSzone.net 2001-