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

Ответить
 • Просмотры: 1
Аватара пользователя
dark-------13

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

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

Вот прикрепил батник проверь пожалуйста что не так
Аватара пользователя
dark-------13

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

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

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



Вы писали мне

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

, ниже приведенный скрипт заработал на Seven x64 вчера,а сегодня попробовал на другой машине на XP (x32), опять стал копировать все файлы, а нужно один по текущей дате, подскажите как сделать так чтобы %%~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 »

Не работает так хотя батник лежит на диске X как и папки in и out



@echo off

SETLOCAL EnableDelayedExpansion



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

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



copy "X:\in\%file%" "X:\out"





Но работает так причем батник должен лежать на диске X в данном примере



@echo off

SETLOCAL EnableDelayedExpansion



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

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



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

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

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

@echo off

setlocal



pushd "папка где нужно найти файлы" || goto:eof



for /f "tokens=*" %%i in (' dir /b /od *.расширение файла ') do set "last=%%i"



copy "%last%" "куда копируем"



popd



добавляем || goto:eof

ищет и копирует последний файл в папке, батник может находиться в любом месте
Аватара пользователя
anton_bir86

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

Сообщение anton_bir86 »

Цитата anton_bir86:



ищет и копирует последний файл в папке
CMD/BAT - [решено] Не работает скрипт копирования самого свежего файла по текущей дате




Или не копирует. Поскольку ищет не только файлы, но и папки.
Ответить

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