CMD/BAT - [решено] Скопировть только самый новый файл - который создан текущей датой

Аватара пользователя
dark-------13

CMD/BAT - [решено] Скопировть только самый новый файл - который создан текущей датой

Сообщение dark-------13 »

Здравствуйте,



Имеется скрипт который копирует самый "свежий" файл в папке и шифрует его



@echo off

setlocal



for /f "tokens=*" %%i in (' dir /b "Y:\*.xml" ') do set "file=%%i"



copy "Y:\%file%" "D:\V"

cry "D:\V\%file%"



Подскажите пожалуйста, как добавить в приведенный скрипт, проверку на дату, чтобы осуществить следующее:



Скрипт должен копировать с диска Y:\ в D:\V только тот файл который является "свежим" - новым и у которого дата создания текущая.



Заранее спасибо.
Аватара пользователя
amel27

Re: CMD/BAT - [решено] Скопировть только самый новый файл - который создан текущей датой

Сообщение amel27 »

Цитата dark-------13:



Имеется скрипт который копирует самый "свежий" файл
CMD/BAT - [решено] Скопировть только самый новый файл - который создан текущей датой




нет, этот скрипт копирует самый последний при сортировке по имени




Цитата dark-------13:



как добавить в приведенный скрипт, проверку на дату
CMD/BAT - [решено] Скопировть только самый новый файл - который создан текущей датой






Код:

Код: Выделить всё

@echo off
for /f "delims=" %%i in ('dir/b/a-d/od "Y:\*.xml"') do (
for /f %%a in ("%%~ti") do if "%date%"=="%%a" set "file=%%i")
copy "Y:\%file%" "D:\V"
cry "D:\V\%file%"
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Скопировть только самый новый файл - который создан текущей датой

Сообщение Foreigner »

В общем, оно не хочет выдавать %%~ti на другом диске...



Код:

Код: Выделить всё

@echo off
setlocal
pushd H:\
for /f "tokens=*" %%i in (' dir /b /od *.xml ') do (
    for /f "tokens=1" %%j in ( "%%~ti" ) do if "%%j"=="%date: =0%" set "file=%%i"
)
popd
copy "H:\%file%" "X:\V"
rem cry "X:\V\%file%"
Аватара пользователя
dark-------13

Re: CMD/BAT - [решено] Скопировть только самый новый файл - который создан текущей датой

Сообщение dark-------13 »

Цитата dark-------13:



Скопировались все файлы
CMD/BAT - [решено] Скопировть только самый новый файл - который создан текущей датой




вроде не должно, в батнике всего одна команда COPY



- создал диск Y: (через SUBST)

- создал на Y: три файла: 1.xml, 2.xml, 3.xml (соответственно, у всех дата одна)

- создал папку D:\V\

- запустил батник, результат:



Код:

Код: Выделить всё

Скопировано файлов:         1.
Аватара пользователя
amel27

Re: CMD/BAT - [решено] Скопировть только самый новый файл - который создан текущей датой

Сообщение amel27 »

Сделал так переносятся все файлы где ошибка у меня ? Файл прикрепил вот его код

на всякий

@echo off



for /f "delims=" %%i in ('dir/b/a-d/od "H:\*.xml"') do (

for /f %%a in ("%%~ti") do set "file=%%i")



copy "H:\%file%" "X:\V"

rem cry "X:\V\%file%"
Аватара пользователя
dark-------13

Re: CMD/BAT - [решено] Скопировть только самый новый файл - который создан текущей датой

Сообщение dark-------13 »

Сделал так переносятся все файлы где ошибка у меня ? Файл прикрепил вот его код

на всякий

@echo off



for /f "delims=" %%i in ('dir/b/a-d/od "H:\*.xml"') do (

for /f %%a in ("%%~ti") do set "file=%%i")



copy "H:\%file%" "X:\V"

rem cry "X:\V\%file%"
Аватара пользователя
dark-------13

Re: CMD/BAT - [решено] Скопировть только самый новый файл - который создан текущей датой

Сообщение dark-------13 »

Пробовал так тоже все файлы копирует



@echo off



for /f "delims=" %%i in ('dir/b/a-d/od "X:\old\*.txt"') do (

for /f %%a in ("%%~ti") do set "file=%%i")



copy "X:\old\%file%" "X:\new"



В папку old кидаю файл readme.txt и создаю новый 1.txt
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Скопировть только самый новый файл - который создан текущей датой

Сообщение Foreigner »

Код:

Код: Выделить всё

@echo off
setlocal
for /f "tokens=*" %%i in (' dir /b /od H:\*.xml ') do (
    for /f "tokens=1" %%j in ( "%%~ti" ) do if "%%j"=="%date: =0%" set "file=%%i"
)
copy "H:\%file%" "X:\V"
rem cry "X:\V\%file%"
Аватара пользователя
dark-------13

Re: CMD/BAT - [решено] Скопировть только самый новый файл - который создан текущей датой

Сообщение dark-------13 »

Цитата dark-------13:



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




Покажи _твой_ батник. В моем может копироваться только один файл.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»