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

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

Автор: PetrK
Дата сообщения: 26.04.2007 08:21
доброго времени суток

как написать bat файл, чтобы при помещении его в автозагрузку Win XP SP2 после загрузки ОС запускалось приложение через интервал времени, например через 10 секунд?

спасибо
Автор: KapralBel
Дата сообщения: 26.04.2007 08:58
PetrK
В Windows Resource Kit - есть небольшая утилита Sleep
Sleep 10
Автор: FXPELIVE
Дата сообщения: 26.04.2007 09:35
Помогите написать пакетник, который проверяет доступ к интернету (например пропинговав google.com) и если доступ есть, то выкачивает некий файл wget'ом, а в противном случае выдаёт сообщение 'Нет доступа в интернет'
Автор: KapralBel
Дата сообщения: 26.04.2007 09:41

Код: @Echo Off
Ping www.google.com
If ErrorLevel 1 GoTo :No
Echo WGet -parameters
GoTo :EOF

:No
Echo Internet not working
GoTo :EOF
Автор: Gabzya
Дата сообщения: 26.04.2007 10:13
Tipulatoid
понял, но дело в том, что буква "і" в дос коддировке выглядит как знак вопроса "?"
Автор: wolf0425
Дата сообщения: 26.04.2007 10:55
FXPELIVE
ping google.com || echo Нет доступа в интернет && goto :eof
wget с нужными параметрами

или у тебя с ключиками к wget затык?
Автор: Tipulatoid
Дата сообщения: 26.04.2007 10:58
Gabzya

Цитата:
понял, но дело в том, что буква "і" в дос коддировке выглядит как знак вопроса

Задача начинает приобретать интерес. Подготовь несколько вложенных друг в друга папок с "неудобными символами" в названии, в них помести несколько пустых текстовых файлов с теми же символами в названии и вышли мне на maxim_sv[ собака ]yahoo.com Нужно для тестов
All
Подскажите номер кодовой страницы для украинской раскладки клавиатуры
Автор: 01MDM
Дата сообщения: 26.04.2007 11:21
Не знаю почему, но errorlevel от ping всегда возвращает "0", даже без сетевого кабеля..
Поэтому решаю таким способом:


Код:
for /f "tokens=9 delims== " %%i in ('ping google.com ^| find "TTL"') do (
    set PingGood=%%i
    )

if %PingGood%==TTL (
    goto main
    ) else (
    goto End
    )

:main
SomeCode here

:End
Автор: dvarok
Дата сообщения: 26.04.2007 11:25
Нашел тут скриптик для net send, подредактировал под свои нужды слегка, вот что получилось

Код: @Echo Off
For /F "tokens=1-2 delims=,&" %%a in (temp) Do Call :lab1 %%a %%b
GoTo :EOF
:Lab1
Set p1=%1
Net Send %p1% привет
Автор: wolf0425
Дата сообщения: 26.04.2007 12:50
dvarok так с каким путём запускается батник и по какому пути лежит temp ?
если пути вида \\server\share и temp лежит вместе с батником -
замени temp на %~dp0temp что-ли...
Автор: Maza Faka
Дата сообщения: 26.04.2007 12:58
dvarok
Какой программой создаётся temp файл? Приведи, какая конкретно строка содержится в temp файле.
Автор: Elroir
Дата сообщения: 26.04.2007 13:02
Tipulatoid

Цитата:
Подскажите номер кодовой страницы для украинской раскладки клавиатуры

Судя по информации Microsoft-а и ANSI и OEM такие-же, как и для русской: ANSI=1251, OEM=866.
Автор: Maza Faka
Дата сообщения: 26.04.2007 13:18
01MDM
Да можно проще без "IF":

Код:
@Echo off
Ping -n 3 -w 1000 google.com | Find "TTL">NUL && Start "" "C:\Windows\notepad.exe"
Автор: wolf0425
Дата сообщения: 26.04.2007 13:41
кстати, по поводу танцев с бубном вокруг пинга - это на какой ОС пинг не выдает правильный (ненулевой) еррорлевел при недоступности хоста?
у меня (xp eng sp2) - выдает вроде исправно...
Автор: Tipulatoid
Дата сообщения: 26.04.2007 13:59
Elroir

Цитата:
Судя по информации Microsoft-а и ANSI и OEM такие-же, как и для русской: ANSI=1251, OEM=866.

Вы как всегда правы
Gabzya
Вот этот код у меня нормально отработал на присланных тобой файлах и папках:

Код: @echo off
setlocal enabledelayedexpansion
chcp 1251 > nul

set first_symb=_
set second_symb=ї
set third_symb=_
set forth_symb=Ї

:rendir
for /f "tokens=*" %%a in ('dir /b /a:d /s') do (
set dirname=%%a
set dirname=!dirname:%first_symb%=1!
set dirname=!dirname:%second_symb%=2!
set dirname=!dirname:%third_symb%=3!
set dirname=!dirname:%forth_symb%=4!
move "%%a" "!dirname!" 2>nul | find /i "перемещено" && goto rendir
)

:renfiles
for /f "tokens=*" %%a in ('dir /b /a:-d /s') do (
set filename=%%~nxa
set filename=!filename:%first_symb%=1!
set filename=!filename:%second_symb%=2!
set filename=!filename:%third_symb%=3!
set filename=!filename:%forth_symb%=4!
ren "%%a" "!filename!"
)
Автор: KapralBel
Дата сообщения: 26.04.2007 14:08
Tipulatoid

Цитата:
Точно знаю, что на Win 2000 такая ерунда

приведи батничек, Который криво исполняется на 2000 (с указанием ЕррорЛевелов)
Автор: Tipulatoid
Дата сообщения: 26.04.2007 14:27
KapralBel

Цитата:
приведи батничек, Который криво исполняется на 2000 (с указанием ЕррорЛевелов)


Хорошо, возможно, насчет "точно знаю" это я погорячился. Просто эта тема здесь обсуждалась. Например такой код:

Код: @echo off
setlocal
for /f "tokens=*" %%a in (ip.txt) do (
ping %%a -n 1 -l 1450 && echo %%a >> listing.txt
)
Автор: KapralBel
Дата сообщения: 26.04.2007 14:37
Tipulatoid
А если так

Код:
@Echo off
Ping www.microsoft.com >Log.txt
Echo %errorLevel% >>Log.txt
Ping www.microsoftkfhsdffsd.com >>Log.txt
Echo %errorLevel% >>Log.txt
Автор: Tipulatoid
Дата сообщения: 26.04.2007 14:46
KapralBel

Цитата:
А если так

Не могу сейчас проверить - 2000 на работе, а я дома уже на XP
Автор: wolf0425
Дата сообщения: 26.04.2007 14:52
Tipulatoid я проверил, действительно не выдает ошибку
C:\WINNT\system32\ping.exe -w 1000 -n 1 192.168.1.140
echo. !ERRORLEVEL=%ERRORLEVEL%
ver

Статистика Ping для 192.168.1.140:
Пакетов: отправлено = 1, получено = 0, потеряно = 1 (100% потерь),
Приблизительное время передачи и приема:
наименьшее = 0мс, наибольшее = 0мс, среднее = 0мс
!ERRORLEVEL=0

Microsoft Windows 2000 [Версия 5.00.2195]


Добавлено:

Цитата:
В моем предыдущем посте кликни на слове "компилятором" и все

Forbidden
Автор: Gabzya
Дата сообщения: 26.04.2007 15:13
Tipulatoid

Цитата:
и слово "перемещено" читается без проблем

если создавать в ФАРе, то не получается, открывае в проводнике кракозяблы, если в проводнике, то в фаре кракозяблы...
о_О как ты его создал???
отработал говориш? а у тебя буквы где? і І
Автор: Tipulatoid
Дата сообщения: 26.04.2007 15:13
wolf0425

Цитата:
Forbidden

http://www.abyssmedia.com/downloads/quickbfc.exe
Gabzya

Цитата:
отработал говориш? а у тебя буквы где? і І

На мыло тебе выслал рабочий вариант (с другого адреса)
Автор: Elroir
Дата сообщения: 26.04.2007 15:18
Starley25

Цитата:
Здравствуйте еще раз, застрелите меня...

Ну... стрелять пока не будем
Мне кажется, ты немного неверно используешь psexec.
Насколько я понимаю, надо делать так:
1. Проверяем, что следующая команда работает:
psexec \\pentium -u USER -p PASS -i cmd.exe /c c:\1.mp3
1.1 Если нет - надо убедиться, что на \\pentium машине существует админская шара ADMIN$ и отключен Simple File Sharing (без этого psexec работать не будет).
2. Создаем батник с этой командой и компилируем его.
Примечание - оператор должен будет закрыть окошко проигрывателя, иначе psexec не закончит работу.

Добавлено:
Можно там же - на C:\ создать батник play.cmd в котором будет строка "start c:\1.mp3".
И запускать с помощью psexec этот батник:

Код:
psexec \\pentium -u USER -p PASS -i c:\play.cmd
Автор: wolf0425
Дата сообщения: 26.04.2007 16:33
нафига батник то? чем хуже
psexec \\pentium -u USER -p PASS -i cmd.exe /c start c:\1.mp3

вот если имя файла будет не c:\1.mp3 а что-то с кавычками -придётся извращаться
Автор: Gabzya
Дата сообщения: 26.04.2007 17:28
Tipulatoid

Цитата:
На мыло тебе выслал рабочий вариант (с другого адреса)

там в батнике вместо "і" "І" подчеркивания "_"
поставить буквы не получается, вместо них ставится "?"
Автор: Elroir
Дата сообщения: 26.04.2007 17:37
wolf0425
Ты прав - в данном случае батник не нужен.

Цитата:
вот если имя файла будет не c:\1.mp3 а что-то с кавычками -придётся извращаться

А вот для этого можно использовать батник

Добавлено:
А можно и не использовать:

Код:
psexec \\pentium -u USER -p PASS -i cmd.exe /c start /D"c:\" "c:\1 2 3.mp3"
Автор: wolf0425
Дата сообщения: 26.04.2007 17:50
Gabzya ты хоть новый батник в ANSI (=Win) редактируешь?
Автор: DeMLaN
Дата сообщения: 26.04.2007 18:09
Ребята, а подскажите такие вещи:
1. В inf файле куча разделов, мне нужно в один из разделов к примеру раздел [AddReg] необходимо из start.cmd дописать строку, к примеру HKCU,"Software\...","RunCount",0x00,0, как это можно сделать???
2. как с помощью комманды findstr (к примеру если один ключ поиска: findstd /v /i /c:bedtry backup.bak > back.log) и при нескольких ключах поиска (выборки) осуществить поиск строк с нужным содержимым и записать его результаты в файл back.log
Немного запутано получилось, но я надеюсь вы меня поймете...
Автор: Elroir
Дата сообщения: 26.04.2007 18:40
DeMLaN
1.

Код:
@echo off
setlocal
for /f "tokens=1 delims=[]" %%a in ('find /n /i "[AddReg]" test.inf') do set "num=%%a"
set /a "num+=1"
addline HKCU,"Software\...","RunCount",0x00,0 %num% test.inf>nul
Автор: Gabzya
Дата сообщения: 26.04.2007 19:02
wolf0425
понял

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Сбой активации XP sp2


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