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

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

Автор: SymA
Дата сообщения: 08.11.2008 11:51

Цитата:
А у тебя точно логин - login, а пароль - password??


Правильно всё. Я изменил тут специально
Автор: stydik
Дата сообщения: 08.11.2008 12:00

Цитата:
stydik

Цитата:Я хочу, чтобы он запускался через каждые полчаса. Как это сделать???
Цитата:Или если батник, то как ему втулить фоновый запуск, ну чтоб не мелькал ????

В шапке


Я нашел в шапке cmdow. Пытался вставить и впервый батник и во второй. но все равно
окно появляется..........
Автор: sand3r
Дата сообщения: 08.11.2008 12:28
Всем доброго времени суток!
Такая задачка:
Имеем 7000 файлов формата ASF по 1.2 мб. Необхожимо их склеить в один большой файл используя программку ASFtools v3.1. Она может склеить только 88 файлов за 1 раз. хотелось бы это все автоматизировать и вот кое что пытался написать

Цитата:
Код:
set ofile=1
set ifile1=1
set ifile2=2
set ifile3=3
set ifile4=4
rem *************************
rem здесь их должно быть 88
rem *************************
cd /d "c:\program files\AsfTools 3.1\"
asfcut.exe -i "D:\a\%ifile1%.ASF" -i "D:\a\%ifile2%.ASF" -i "D:\a\%ifile3%.ASF" -i "D:\a\%ifile4%.ASF" -o "D:\b\%ofile%.ASF" -y
set /a ofile=%ofile%+1
set /a ifile1=%ifile1%+4
set /a ifile2=%ifile2%+4
set /a ifile3=%ifile3%+4
set /a ifile4=%ifile4%+4
cd /d "c:\program files\AsfTools 3.1\"
asfcut.exe -i "D:\a\%ifile1%.ASF" -i "D:\a\%ifile2%.ASF" -i "D:\a\%ifile3%.ASF" -i "D:\a\%ifile4%.ASF" -o "D:\b\%ofile%.ASF" -y
rem *************************
rem потом надо увеличить переменные ofile на 1, а ifile на 88 каждую
rem и так до тех пор пока не обработает все
rem *************************
pause

Автор: Nagual
Дата сообщения: 08.11.2008 13:21
sand3r
copy/b пробовал?
Автор: sand3r
Дата сообщения: 08.11.2008 13:48
прастите я совсем не разбираюмь
Автор: Elroir
Дата сообщения: 08.11.2008 14:27
buggyboaster
Можно внести все ненужные названия файлов в отдельный файл, например unwanted.lst (одно название на каждой строке) и добавить после "| FIND /i %%b", еще и "| findstr /v /g:unwanted.lst".


Добавлено:
stydik
Используй hstart.exe (там же - в шапке). Этой утилитой батники запускаются в скрытом режиме.
Автор: FantomaS77
Дата сообщения: 08.11.2008 19:45
Здравствуйте. При написании пакетного файла я столкнулся с проблемой. Надо удалить файл или переместить в каталог уровнем выше. Но del не изменяет значения errorlevel.
Простой пример:
Создаю на D:\ файл 1.1
Создаю Пакетный файл с названием temp с таким содержанием:
del D:\1.1
echo %errorlevel%
в комадной строке вызываю этот файл
Все происходит нормально
C:\Documents and Settings\User>D:\Учеба\ОС\temp

C:\Documents and Settings\User>del D:\1.1

C:\Documents and Settings\User>echo 0
0

Затем опять вызываю его же(естественно файла уже нет)
Результат:
C:\Documents and Settings\User>D:\Учеба\ОС\temp

C:\Documents and Settings\User>del D:\1.1
Не удается найти D:\1.1

C:\Documents and Settings\User>echo 0
0

Файл не найден, но errorlevel все равно равен 0.

В связи с вышесказанным 2 вопроса:
1)Почему del не изменяет значение errorlevel? Или мб есть ли такая команда проверки существования файла на диске?
2)Как переместить файл в каталог уровнем выше?
Заранее спасибо.
Автор: Drunken Master
Дата сообщения: 08.11.2008 20:10
FantomaS77
1. IF EXIST 1.tmp DEL 1.tmp
2. MOVE 1.tmp ..\1.tmp
Автор: FantomaS77
Дата сообщения: 08.11.2008 20:32
Drunken Master, спасибо
Я так понял, Exist 1.tmp - это проверка существования файла?
И откуда ты узнал о существовании exist и .. ?
Вроде в стандартном help-e не нашел...
Автор: Nagual
Дата сообщения: 08.11.2008 20:35
sand3r
copy/?|findstr/i b
попробуй склеить несколько файлов, при положительном результате надо будет написать скрипт
Автор: SymA
Дата сообщения: 08.11.2008 20:37
Помогите кто-н решить мою проблемку Ссылка
Автор: Drunken Master
Дата сообщения: 08.11.2008 20:46
FantomaS77
EXIST это параметр команды IF (см. IF /?)
Про .. см. CD /?
Команда HELP выводит список команд оболочки. Много интересного можно узнать из справок по конкретным командам. Обязательными к прочтению считаю SET /? и FOR /?
Автор: FantomaS77
Дата сообщения: 08.11.2008 20:55
И еще небольшой вопрос ))
Как сделать, чтобы при выполнении
MOVE D:\123\1.tmp ..\1.tmp
перемещало не в C:\Documents and Settings, а в D:\ ?
Автор: Drunken Master
Дата сообщения: 08.11.2008 21:05
FantomaS77
.. — это псевдоним родительского каталога для текущего каталога.
Меняет текущий каталог команда CD.
Вам нужно перед MOVE выполнить CD /D D:\123 или явно указывать все пути MOVE D:\123\1.tmp D:\1.tmp
Автор: Elroir
Дата сообщения: 08.11.2008 21:07
SymA

Код:
Title ADSL
:r
rasdial "VPN" login pass
ping -n 6 -w 1000 127.0.0.1>nul
ping www.google.com | find "TTL=" || goto r
Автор: FantomaS77
Дата сообщения: 08.11.2008 22:05
Drunken Master, это понятно, но как отделить путь от самого файла, и сделать его(путь) текущим. Например при передаче параметра, параметр будет выглядеть напр как
D:\123\1.tmp и как оттуда выцепить D:\123, чтобы потом сделать активным?
Автор: Smitis
Дата сообщения: 08.11.2008 23:03
FantomaS77

Цитата:
но как отделить путь от самого файла, и сделать его(путь) текущим. Например при передаче параметра, параметр будет выглядеть напр как
D:\123\1.tmp и как оттуда выцепить D:\123, чтобы потом сделать активным?

Допустим, это первый параметр. Тогда так:
cd /d %~dp1

Как говорится, RTFM
Автор: losttda
Дата сообщения: 09.11.2008 07:58
Вопрос по сети, стоит задача написать батник который автоматически прописывает роуты до текущего шлюза.
Насчёт роутов ясно, а вот как получить текущий шлюз?
Автор: 01MDM
Дата сообщения: 09.11.2008 11:36
losttda

Цитата:
Насчёт роутов ясно, а вот как получить текущий шлюз?



Код:
@echo off
for /f "tokens=2 delims=:" %%i in ('route print') do set dg=%%i
set dg=%dg: =%
echo default gateway is %dg%
Автор: losttda
Дата сообщения: 09.11.2008 12:46
Данный код ничего в результате не выводит.
Автор: 01MDM
Дата сообщения: 09.11.2008 13:27
losttda

Цитата:
Данный код ничего в результате не выводит.


Странно, у меня все выводит, как ты его запускаешь?
Автор: Taciturn
Дата сообщения: 09.11.2008 14:53
losttda

Цитата:
стоит задача написать батник который автоматически прописывает роуты до текущего шлюза

У меня это сделано таким скриптом - http://taciturn-shadow.spb.ru/UniRoute.cmd - успешно работает от NT4 до 2008 сервера.
Автор: NIKZZZZ
Дата сообщения: 09.11.2008 15:06
losttda
Я использовал такой батник

Код: FOR /F "usebackq tokens=1* delims=:" %%i in (`ipconfig ^| find /i "шлюз" ^| find /i ": 10."`) do set ss=%%j
if "%ss%"=="" (
Echo Default gateway error
pause>nul
goto :eof
)
cls
@echo Default gateway %ss%
route -f
route add 0.0.0.0 MASK 0.0.0.0 %ss%
route -p add 10.0.0.0 mask 255.0.0.0 %ss%
....
Автор: SymA
Дата сообщения: 09.11.2008 16:35
Elroir, спасибо, прекрасно работает!
Правда за не надобностью убрал строку пинга локалХоста
Автор: Elroir
Дата сообщения: 09.11.2008 17:26
SymA

Цитата:
Правда за не надобностью убрал строку пинга локалХоста

Я ее вставил на всякий случай. На некоторых системах бывает нужна задержка.
Автор: batniki
Дата сообщения: 09.11.2008 19:34
Есть список разделов реестра, нужно экспортировать содержимое нескольких разделов в один reg файл. Подскажите пожалуйста.
Автор: Froz
Дата сообщения: 09.11.2008 19:49
batniki,

@echo off
regedit /ea %Temp%\ChkReg.txt "HKEY_CURRENT_USER\Software\MyPrg-1"
if exist %Temp%\ChkReg.txt type %Temp%\ChkReg.txt>reg.reg
regedit /ea %Temp%\ChkReg.txt "HKEY_LOCAL_MACHINE\Software\MyPrg-1"
if exist %Temp%\ChkReg.txt findstr /v /b /i "REGEDIT4" %Temp%\ChkReg.txt>>reg.reg
if exist %Temp%\ChkReg.txt del %Temp%\ChkReg.txt
Автор: johnmar
Дата сообщения: 09.11.2008 22:02
Нужно отсортировать строки в текстовый файл в алфавитном порядке (кодировка 1251, рус.)
пробовал разные варианты


вариант 1:
sort < 1.txt > 2.txt
выдаёт какую-то хрень (не по алфавиту)


вариант 2:
chcp 1251
sort < 1.txt > 2.txt
то же самое


вариант 3:
sort /l C < 1.txt > 2.txt
побайтная сортировка (на выходе А Б В .... а б в ...)
не совсем то, что нужно

получится (к примеру):
Арбуз
Водка
Тыква
ашхабад
вовчик
толян

когда надо:
Арбуз
ашхабад
вовчик
Водка
толян
Тыква


проблема только с русскими буквами (обычный текст в win-кодировке)
Автор: batniki
Дата сообщения: 10.11.2008 00:35
Froz, спасибо большое!

Столкнулся с такой проблемой...
Как экранизировать переменную return, а то в txt записывается вместо if %return%==y if ==y и сохранить debug.txt на рабочий стол %AllUsersProfile%\Рабочий стол (Win XP SP3)

Код: echo set /P return="(y/n): " >>debug.txt
echo if %return%==y goto label >>debug.txt
echo if %return%==n exit >>debug.txt
....
Автор: nightlight
Дата сообщения: 10.11.2008 00:46
johnmar


Попробуйте free утилитку cmsort (57kb)
http://www.chmaas.handshake.de/delphi/freeware/cmsort/cmsort.htm
будет примерно так:
D:\>cmsort /C=1,0 a.txt b.txt

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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