Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 3

Автор: JohnRD
Дата сообщения: 01.08.2007 08:02
KapralBel
01MDM

да согласен

1) Если вы устанавливаете клавиатуру или страну, отличающуюся от
значения по умолчанию (США) то SETUP добавит в файл CONFIG.SYS
следующую команду, чтобы выделить буфер для кодовой страницы:

DEVICE=C:\DOS\DISPLAY.SYS CON=(,,1)

2) В файл AUTOEXEC.BAT добавляются команды для подготовки и выбора
кодовой страницы:

MODE CON CP PREP=((850) C:\DOS\xxx.CPI)
(где xxx - EGA, EGAX или ISO)

MODE CON CP SEL=850
Автор: KapralBel
Дата сообщения: 01.08.2007 11:48
JohnRD
А какая у тебя ОС?? 98?
Автор: JohnRD
Дата сообщения: 01.08.2007 12:04
KapralBel

ghost делает загрузочный CD на PCDOS 7

я скачал http://dllianxiang.fastcdn.com/business/pcdos7.rar
положил файлы
DISPLAY.SYS
EGA.CPI
MODE.COM

autoexec.bat

Код:
@echo off
SET TZ=GHO-03:00
prompt $p$g
\net\Undipd.com 0x60
if exist MOUSE.COM MOUSE.COM
MODE CON CP PREP=((866) EGA.CPI)
MODE CON CP SEL=866
SET /P DESC=['ў_¤Ёв_ RЇЁб -Ё_ ¤<п бRеа -п_&#9488;R_R RЎа   Ё - &#9474;&#9488;Ёв_ ENTER:] - это DOS кодировка
echo Loading...
CD \GHOST
GHOST.EXE -z1 -clone,mode=create,src=2,dst=@mcbackup -sure -split=0 -imgdesc=%DESC%
Автор: KapralBel
Дата сообщения: 01.08.2007 12:11
JohnRD
SET /P работает только в NT-линейке (2000/XP/20003/Vista)

Делай так

Код: Echo Введите инф (после ввода нажмите Ctrl-Z)
Copy con 2.bat
Copy /b 1.bat+2.bat 3.bat
call 3.bat
Автор: vmix
Дата сообщения: 01.08.2007 19:13
Maza Faka

Цитата:
@echo off

for %%a in (old.tmp new.tmp) do if exist %%a del /f /q %%a ...


Работает отлично, спасибо!
Автор: GGS
Дата сообщения: 02.08.2007 09:29
Подскажите, как мне заставить команду, например,

Код: TASKLIST /V /FO list > 1.txt
Автор: KapralBel
Дата сообщения: 02.08.2007 09:36
GGS
Встроенными средствами - это достаточно трудоемко
надо через возможности команды Set - делать замену одного символа на другой, т.е. символ в кодировке 866 меняется на символ в кодировке 1251
Автор: timex
Дата сообщения: 02.08.2007 09:53
Ну так что, никто не знает, как батником удалить файлы из одного каталога (бекапа), отсутствующие в другом, исходном (рабочем) каталоге?

Например, переименовал файл в рабочем каталоге, а в резервной копии он остался со старым именем...
Автор: KapralBel
Дата сообщения: 02.08.2007 10:07
timex
В общем по другому задача звучит так?
При создании резервной копии каталога надо что бы они были одинаковыми, т.е. копировались новые иобновленные файлы, а не существующие удалались?
Если так то возьми утилиту robocopy и ключ /mir
Автор: GORA2
Дата сообщения: 02.08.2007 10:22
Подскажите, а то в справке не оговорено. Правомочно ли использование в findstr двух строк поиска одновременно?
Код: FOR /F "eol= tokens=* usebackq" %%i IN ("%~1") DO (
echo %%i | findstr /b /i /c:"; This SFX archive was created using" /c:";!@InstallEnd@!">nul && set flag=1
IF NOT DEFINED flag echo %%i>>temp_config.txt
)
Автор: Maza Faka
Дата сообщения: 02.08.2007 10:36
GORA2

Цитата:
можно ли так использовать findstr ?

Получается, что можно.

Добавлено:
timex

Цитата:
как батником удалить файлы из одного каталога (бекапа), отсутствующие в другом, исходном (рабочем) каталоге?

Под Win98 средствами батника затруднительно, лучше воспользуйся советом KapralBel-а.
Автор: KapralBel
Дата сообщения: 02.08.2007 10:42
GORA2
Ты какую логическую операцию хочешь получить ? - И или ИЛИ
У меня срабатыает ИЛИ, если надо И делай так

Код: | findstr /c: ... | findstr /c: ... |
Автор: GORA2
Дата сообщения: 02.08.2007 10:54
KapralBel
Нужно ИЛИ
Еще вопрос. Ключ /b не работает если перед искомыми стрингами в исходном тексте от начала строки стоят одни пробелы т.е., если имеем текст
Код: ;!@InstallEnd@! .....
;!@InstallEnd@! .....
1 ;!@InstallEnd@! .....
Автор: KapralBel
Дата сообщения: 02.08.2007 11:07
GORA2
У меня работает
Автор: GORA2
Дата сообщения: 02.08.2007 12:26
KapralBel
Прошу пардону. Действительно заработало, а вчера наверное что было не так на солнце. Спасибо.
Автор: timex
Дата сообщения: 02.08.2007 17:42
KapralBel
Цитата:
timex
Для 98 - сходу только 2 решения
1-й вариант
1. Переименовать папку резерва
2. Создать новую
3. Сделать архивную копию
4. Удалить старую папку резерва


этот вариант не подходит, т.к. файлы в основном большие, копируются на флешку через usb 1.1 - очень долго.
У меня обновляются только исходники, в основном они и копируются в бэкап, а большие - очень редко.


Цитата:
2-й вариант (полуавтоматический)
1. Делать архивные копии
2. Изредка файловым менеджером (ФАР или ТС) - сравнивать обе папки и удалять лишее


пока так и делаю я потому и спрашиваю - как то же самое сделать батником?!

Неужели решение настолько сложное, что без посторонних программ не обойтись??
Автор: Maza Faka
Дата сообщения: 02.08.2007 17:58
timex

Цитата:
Неужели решение настолько сложное, что без посторонних программ не обойтись??

Нет, задача не сложная, просто под рукой нет компа с Windows 98, что бы проверить код, да и не знаю я, честно говоря, какие команды там будут работать, а какие нет, может кто решение при помощи WSH подскажет?
Решение при помощи AutoIT устроит?
Автор: mbku
Дата сообщения: 03.08.2007 06:20
Здравствуйте, очень интересный и полезный форум, правда еще пока мало по нему лазила.
Но несколько раз заглядывала и всегда находила полезные вещи для себя в работе и с удовольствием воспользовалась.

Вопрос1: Где-то была ссылка на 3 книжки:
Андрей Попов. Командные файла и сценарии Windows Script Host.....
Джесси Торесс. Скрипты для администратора Windows.....
Элин Фриш. Windows 2000: команды. Карманный справочник ....
Есть ли еще книжки?

Вопрос2: Может очень глупый, но извините чайника.
На работе внутренняя сеть куча компьютеров. Можно ли написать батник, проверяющий какие файлы и кем с моего компа читаются, открываются, копируются и т.п. в данный момент. А может можно и получит какой-то журнал за определенное время.


Добавлено:
И еще есть батник, в зависимости от разных условий идет по разным направлениям где-то заканчивает работу и т.п. Надо по каждой ветке на экран выдавать окошко c кнопкой “Ok” и чтоб сообщение было на русском. Я этим в принципе уже пользуюсь через создание ДжаваСкриптовского файла с подключением Windows Script Host или посылаю себе же net send, но может существует еще какой-то способ?

И еще батник, работает долго. Можно ли чтобы где-нибудь в отдельном окошке шли сообщения, что сейчас в данный момент батник делает.
Автор: Maza Faka
Дата сообщения: 03.08.2007 06:52
mbku

Цитата:
Где-то была ссылка

А что, Яндекс отменили?
Командные файлы и сценарии Windows Script Host
Командная строка Microsoft Windows справочник администратора


Цитата:
какие файлы и кем с моего компа читаются

net file
Автор: NIKZZZZ
Дата сообщения: 03.08.2007 07:59
mbku

Цитата:
Есть ли еще книжки?

По WSH небольшая подборка.

Добавлено:
mbku

Цитата:
Надо по каждой ветке на экран выдавать окошко c кнопкой “Ok”

В шапке в Полезных утилитах Пакет утилит для организации интерфейса.

Цитата:
Можно ли чтобы где-нибудь в отдельном окошке шли сообщения, что сейчас в данный момент батник делает.

А само окно cmd консоли чем плохо?

Автор: slayer120
Дата сообщения: 03.08.2007 08:19
Уважаемые гуру подскажите плиз как работать с свободным местом на дисках.
Задача - есть несколько винтов на которые автоматом пишутся большие файлы
(архивы) ежедневно. Места на винтах иногда может не хватить. Хотелось бы
1. Определить размер файлов которые должны копироваться ( они лежат в разных каталогах разных машин) - наверно с помощью for для списка файлов можно?
2. Определить свободное место на всех винтах файл сервера, куда пишутся бакапы.
Автор: KapralBel
Дата сообщения: 03.08.2007 09:14
slayer120

Код: dir c:\ | find /i "свободно"
Автор: NIKZZZZ
Дата сообщения: 03.08.2007 09:24
KapralBel

Цитата:
dir c:\ | find /i "свободно"

Лучше fsutil volume diskfree c:
Автор: Maza Faka
Дата сообщения: 03.08.2007 09:49
timex

Цитата:
Ну так что, никто не знает, как батником удалить файлы из одного каталога (бекапа), отсутствующие в другом, исходном (рабочем) каталоге?

Проверь PM, я тебе кинул скрипт AutoIT-а, чуть переделаешь под свою задачу и прикрутишь к батнику.
Автор: slayer120
Дата сообщения: 03.08.2007 10:00
KapralBel
Список в файле- 5-6 файлов с бакапами. Я так понял по первому вопросу надо сделать цикл для for и просуммировать ~zI для всего списка файлов.
Еще вариант - если надо определить размер каталога с подкаталогами (в которых лежат файлы) -
это тоже через dir ?
Автор: KapralBel
Дата сообщения: 03.08.2007 10:16
slayer120

Цитата:
Список в файле- 5-6 файлов с бакапами. Я так понял по первому вопросу надо сделать цикл для for и просуммировать

Да


Цитата:
Еще вариант - если надо определить размер каталога с подкаталогами (в которых лежат файлы) -
это тоже через dir ?

Да
Но есть лучший выбор в Support Tool входит diruse
Автор: GORA2
Дата сообщения: 03.08.2007 10:34
KapralBel

Цитата:
GORA2
У меня работает
А если так
Цитата:
xxx
;!@InstallEnd@! .....
;!@InstallEnd@! .....
1 ;!@InstallEnd@! .....
то снова не работает как надо. Вместо одного раза находит два!
Автор: KapralBel
Дата сообщения: 03.08.2007 11:06
GORA2
Слюшай, у тэбя какой-то финдСтр - нэправильны
У меня вообще ничего не находит в начале строк по !@InstallEnd@!
Автор: GORA2
Дата сообщения: 03.08.2007 11:17
KapralBel
Так у меня идет поиск стринга
Цитата:
;!@InstallEnd@!
а не
Цитата:
!@InstallEnd@!

Автор: KapralBel
Дата сообщения: 03.08.2007 11:29
GORA2
А в таком случае только 1 строка

Код: 03.08.2007=D:\>findstr /b /c:";!@InstallEnd@!" 111
;!@InstallEnd@! .....

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Автозагрузка терминальной сессии


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.