![]() |
Не работает скрипт копирования самого свежего файла по текущей дате
Здравствуйте, нужна помощь с скриптом
Ниже приведенный скрипт заработал на 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%" |
Не вижу никакой принципиальной разницы между 7-х64 и ХР-х32. Еще раз все проверьте, пути и т.д.
|
Не работает так хотя батник лежит на диске 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,
Вообщем так. Дело не в диске. Батник должен выполняться в папке с файлами. В твоем случае так: Код:
@echo off |
Цитата:
|
@echo off
setlocal pushd "папка где нужно найти файл" || goto:eof for /f "tokens=*" %%i in (' dir /b /od *.расширение файла ') do set "last=%%i" copy "%last%" "куда копируем" popd добавляем || goto:eof ищет и копирует последний файл в папке, батник может находиться в любом месте |
Цитата:
|
Время: 05:35. |
Время: 05:35.
© OSzone.net 2001-