Нам осталось только сложить все в месте.
Пишем backup.bat:
times.exe times.txt
runbats times.txt temp.bat start.bat
temp.bat
Получить дату в файл, сформировать BAT файл с параметрами и
запустить его. В результате работы все получится.
Вся идея в том, что последний BAT файл, который мы запускаем формируется динамически.
А весь код, который нужно выполнить пишется в Start.bat.
Если Вы
хотите, чтобы копирование производилось на сервер, используйте
UNC пути (см. "Шаг 18 - Universal
Naming Convention - UNC"). Вот,
например, BAT файл, который у
меня работает.
mkdir \\Servers\work\%1
copy *.* \\Servers\work\%1
Можно добавить в автозапуск и Ваша папочка будет копироваться
на
сервер каждый день, кроме того Вы сможете найти копии по
датам.
Здравствуйте. Прочитал вашу новую рубрику про Bat-файлы. Очень
полезная вещь. Сегодня мы, Windows-пользователи, забыли про
командные
строки напрочь, а это плохо, потому что, благодаря им,
можно здорово
автоматизировать некоторые операции. Я частенько
использую команду for,
чем и хочу с вами поделиться.
Пример 1: Вы хотите подсчитать количество строк в текущей
директории во всех файлах *.cpp и *.h. У Вас, к примеру,
есть
программа linecount.exe, которая считает строки для
указанного
ей при запуске файла. Как с помощью BAT-файла
пересчитать все
*.cpp и *.h? Можно вот так:
echo "Found Files" >result_file.txt
for %%a in (*.cpp, *.h) do linеcount %%a >>result_file.txt
Эти же команды можно набирать непосредственно в командной
строке, но
тогда вместо %%a пишется %а.
В конструкции for можно через запятую указывать не только
маски, но и имена, что можно продемонстрировать следующим
примером.
Пример 2: Нам нужно создать на диске папки с именами '1',
'2',
........ (Задача не очень то умная, но это первое что
пришло мне в
голову. Главное - идея)
for %%a in (1, 2, 3, 4, 5 ) do mkdir %%a
Просто, неправда? И главное - быстро. Пример можно усложнить,
добавив
к созданию папки копирование в нее какого-либо файла,
что например,
может быть полезно при копировании данных на
дискету. Резервирование
данных в 5 директориях, скорее всего,
поможет считать записанную
информацию дома, если только не
испортится нулевая дорожка :-)
Не забывайте, что в BAT-файлах для переменных вы должны
использовать префикс %%, а в командной строке - %.
Здравствуйте
1. Если использовать команду DATE /t >%D_Date% теперь
есть
текущая дата в переменной %D_Date% можешь вычленять из нее,
что хочешь и компоновать как надо.
2. В W2000 есть зарезервированные системные переменные DATE
и TIME, которые нигде не описаны. Попробуй проиграться с ними.
echo %DATE%
echo %TIME%