Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Скопировть только самый новый файл - который создан текущей датой

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

Старожил


Сообщения: 169
Благодарности: 4

Профиль | Отправить PM | Цитировать


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

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

@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 только тот файл который является "свежим" - новым и у которого дата создания текущая.

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

Отправлено: 12:45, 27-04-2011

 

Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


В общем, оно не хочет выдавать %%~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%"
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:50, 27-04-2011 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Старожил


Сообщения: 169
Благодарности: 4

Профиль | Отправить PM | Цитировать


Здравствуйте, 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%"

Отправлено: 09:41, 28-04-2011 | #12


Старожил


Сообщения: 169
Благодарности: 4

Профиль | Отправить PM | Цитировать


Не работает так хотя батник лежит на диске 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"

Отправлено: 21:30, 28-04-2011 | #13


Старожил


Сообщения: 169
Благодарности: 4

Профиль | Отправить PM | Цитировать


РЕШЕНО в теме http://forum.oszone.net/thread-205784.html - Не работает скрипт копирования самого свежего файла по текущей дате.
Всем спасибо.

Отправлено: 23:20, 28-04-2011 | #14


Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


@echo off
setlocal

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

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

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

popd

добавляем || goto:eof
ищет и копирует последний файл в папке, батник может находиться в любом месте

Отправлено: 07:11, 18-02-2016 | #15


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата anton_bir86:
ищет и копирует последний файл в папке »
Или не копирует. Поскольку ищет не только файлы, но и папки.

Отправлено: 08:43, 18-02-2016 | #16



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Скопировть только самый новый файл - который создан текущей датой

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] батник для создания папки с текущей датой + время aggressor_ Скриптовые языки администрирования Windows 23 08-02-2018 16:02
Интернет - самый большой рынок, который пользуется дурной славой среди правообладател OSZone News Новости информационных технологий 1 11-11-2010 10:46
7 / 2008 R2 - [решено] WSIM Файл каталога для образа создан другой версией.. ded-mazay Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 1 25-07-2010 17:02
CMD/BAT - [решено] Копирование с флешки в папку на компьютере файлов с текущей датой bazik83 Скриптовые языки администрирования Windows 6 19-05-2010 10:17
CMD/BAT - [решено] Проверить наличие файла с текущей датой. OlegStarov Скриптовые языки администрирования Windows 4 21-04-2009 12:11




 
Переход