![]() |
Скопировать файл и дать ему имя завтрашней даты
Всем привет. Стоит такая задача.
В папке лежат куча txt-файлов с именами в формате даты YYYY-MM-DD (например 2020-07-31.txt). Нужно написать bat-скриптик, который должен будет делать следующее: 1. Определяем текущую дату. 2. Проверяем существует ли файл с текущей датой (например 2020-07-31.txt). • Если файл с текущей датой не существует, то ничего не делаем, закрываем программу. • Если файл с текущей датой существует, то продолжаем. 3. Проверяем существует ли файл с завтрашней датой (например 2020-08-01.txt). • Если файл с завтрашней датой уже существует, то ничего не делаем. • Если файл с завтрашней датой не существует, то копируем файл с текущей датой (например 2020-07-31.txt) и переименовываем его в завтрашнюю дату (например 2020-08-01.txt). |
Heavenanvil,
CMD-скрипт при работе с датой получается длинным
Код:
@Echo Off |
megaloman, на Windows 10 отлично работает.
Только я забыл упомянуть, что использоваться будет в среде Windows XPx32. А там почему-то не работает. |
Heavenanvil, У меня в Microsoft Windows XP [Версия 5.1.2600] работает.
Попробуем докапаться, что у Вас не так
Отладочный вариант
Код:
@Echo On 2. Запустите из командной строки в виде Код:
200731XP.bat >C:\200731XP.txt 2>&1 |
megaloman, кажется я понял в чём проблема.
В пути к файлам есть кириллические символы и пробелы. Потому, что если запустить в корне диска C:, то всё работает даже в Windows XP. А так, в логах вместо "C:\Мои документы" пишет "C:\Њ®Ё ¤®Єг¬Ґ*вл". Пробовал поменять кодировку с помощью "chcp 866" или "chcp 1251 >nul", но всё равно не помогло. |
Heavenanvil, переименуйте свой батник с "C:\Мои документы" в .txt - файл и приложите к сообщению
|
megaloman, всё получилось у меня. Через Notepad++ сохранил файл в кодировке OEM-866 и код заработал.
Спасибо вам большое! |
Время: 23:35. |
Время: 23:35.
© OSzone.net 2001-