Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)

Модерирует : gyra, Maz

Widok (19-11-2007 12:08): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118

   

KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Microsoft Windows » Задачи на bat-файлах 4
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Урок bat-аники (для начинающих)
· Набор GNU утилит для win32
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
· Справка по командам в виде Html
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
 
 
Старая версия первого сообщения

Всего записей: 9735 | Зарегистр. 12-10-2001 | Отправлено: 04:28 24-09-2002 | Исправлено: Elroir, 19:35 11-09-2007
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zayakin
Elroir
Там есть свой "юниксовый" sort
Я переименовал его как usort.
Запуск:
usort -u input > output

Всего записей: 2681 | Зарегистр. 16-10-2003 | Отправлено: 21:47 06-06-2007
zayakin

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir, спасибо!
set "current=1"
FOR /F "eol=R skip=2 tokens=1,9,10,15 delims=," %%i in (%1) do (
if NOT "%%i %%l %%k %%j"=="!current!" echo !current!
set "current=%%i %%l %%k %%j"
)
работает!
 
в данном случае,  sort file.txt | uniq -u>new.txt не работает, так как строки бывают как дублированные, так и не дублированные.
 
Добавлено:
Garrett, отлично. решает проблему. как сделать вывод не в файл, а параметром для программы? и вывод идет построчно или всем файлом
usort -u %1 > echo создает файл echo

Всего записей: 8 | Зарегистр. 06-06-2007 | Отправлено: 07:34 07-06-2007
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zayakin
Не знаю, мне часто по работе надо просто сортировать разные файлы.

Всего записей: 2681 | Зарегистр. 16-10-2003 | Отправлено: 08:10 07-06-2007
Maza Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
zayakin

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

Если строки не слишком длинные, то можно так:

Код:
 
@echo off
echo off>new.txt
for /f "delims=" %%a in (old.txt) do (
findstr /i /x /c:"%%a" new.txt || echo %%a>> new.txt)
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 08:40 07-06-2007
Gast777

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята помогите, нужен батник который запускалбы ХХХ.exe и через минуту отключал.
Зарание спасибо

Всего записей: 97 | Зарегистр. 26-03-2007 | Отправлено: 11:22 07-06-2007
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gast777
Может так:

Код:
 
@echo off
start ХХХ.exe
ping -n 60 localhost > nul
taskkill /IM ХХХ.exe
 

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 11:27 07-06-2007
Gast777

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vshersh
так папробывал,нечего не вышло.
@echo off  
start C:\ProgramFiles\ххх.exe
ping -n 60 localhost > nul
taskkill /IM C:\ProgramFiles\ххх.exe

Всего записей: 97 | Зарегистр. 26-03-2007 | Отправлено: 11:35 07-06-2007
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gast777

Код:
 
@echo off  
start C:\ProgramFiles\ххх.exe  
ping -n 60 localhost > nul  
taskkill /IM ххх.exe
 

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 11:41 07-06-2007
Gast777

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vshersh
Спасибо, всё работает на ура
 
Добавлено:
vshersh
А можноли, чтобы этотже батник после закрытия XXX.exe запускал через 10 секунд YYY.exe и также закравал.

Всего записей: 97 | Зарегистр. 26-03-2007 | Отправлено: 11:50 07-06-2007 | Исправлено: Gast777, 12:02 07-06-2007
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gast777
шутишь?

Код:
@echo off    
start C:\ProgramFiles\ххх.exe  
ping -n 60 localhost > nul  
taskkill /IM ххх.exe
ping -n 10 localhost > nul  
start yyy.exe  
ping -n 60 localhost > nul  
taskkill /IM yyy.exe
 


Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 12:15 07-06-2007 | Исправлено: vshersh, 12:16 07-06-2007
Gast777

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vshersh

Цитата:
шутишь?  

Нет, не шучу!!!  
Всё работает, запускает XXX,закрывайт, запускает YYY, закрывает, только вот паузу не выдерживает бастро закрывае на задачи 60 10 60 даже не смотрит
 

Всего записей: 97 | Зарегистр. 26-03-2007 | Отправлено: 12:31 07-06-2007
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gast777
Попробуй увеличить задержку... Поэкспериментируй с другим приложением - например с блокнотом (notepad.exe) - возможно дело в чем-то другом

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 12:37 07-06-2007
Gast777

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот так всё пашит.
@echo off
start C:\ProgramFiles\XXX.exe
C:\Resource\sleep.exe 60 > nul
taskkill /IM XXX.exe
C:\Resource\USD\XXX\sleep.exe 10 > nul
start C:\ProgramFiles\YYY.exe
C:\Resource\sleep.exe 60 > nul
taskkill /IM YYY.exe
 
vshersh  Спасибо!!!!!

Всего записей: 97 | Зарегистр. 26-03-2007 | Отправлено: 12:40 07-06-2007 | Исправлено: Gast777, 12:41 07-06-2007
zayakin

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в одном файле делаю кучу переименований - не бейте, пока по другому не могу.
ren %mp1%yu1Инстр*.xls yu1Instr.xls
send %mpb%myu1instr.txt %mp1%yu1Instr.xls
ren %mp2%yu2Инстр*.xls yu2Instr.xls
send %mpb%myu2instr.txt %mp2%yu2Instr.xls
 
вторая строка запускает send.bat со строкой:
blat c:\temp\mail\message.txt -tf %1 -s "Svodka" -p EkonSender -attach %2
 
проблема такая - отработав первые две строки и отправив сообщение, дальнейшее выполнение прекращается, т.е. третья строка уже не отрабатывается.

Всего записей: 8 | Зарегистр. 06-06-2007 | Отправлено: 16:09 07-06-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
zayakin

Код:
en %mp1%yu1Инстр*.xls yu1Instr.xls
call send %mpb%myu1instr.txt %mp1%yu1Instr.xls
ren %mp2%yu2Инстр*.xls yu2Instr.xls
call send %mpb%myu2instr.txt %mp2%yu2Instr.xls  

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 16:16 07-06-2007
zayakin

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
прошу прощения, решение найдено - при запуске send.bat использую
cmd /C send ... и все работает

Всего записей: 8 | Зарегистр. 06-06-2007 | Отправлено: 16:19 07-06-2007
zayakin

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
почему-то Call не давал решения.
подскажите, как получить месяц прописью "Июнь" например. из текущей даты
udate +%B дает название по английски, а надо по-русски

Всего записей: 8 | Зарегистр. 06-06-2007 | Отправлено: 12:20 08-06-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
zayakin
А что за
Цитата:
udate +%B
?

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:23 08-06-2007
zayakin

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
это из набора UnxUtils как-то предлагалось для внимания на этом сайте.

Всего записей: 8 | Зарегистр. 06-06-2007 | Отправлено: 12:40 08-06-2007
Maza Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
zayakin

Цитата:
как получить месяц прописью "Июнь" например. из текущей даты

Какой формат даты используется? Если такой: dd mm yyyy, то стандартными средствами bat, cmd, месяц можно получить так:

Код:
 
@echo off
setlocal enabledelayedexpansion
set count=0
set month=1%date:~3,2%
set /a month-=100
 
for %%a in (Январь Февраль Март Апрель Май Июнь Июль ^
Август Сентябрь Октябрь Ноябрь Декабрь) do (
set /a count+=1
if !count! equ %month% echo Текущий месяц %%a)
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 14:54 08-06-2007
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
Widok (19-11-2007 12:08): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru