Ru-Board.club
← Вернуться в раздел «Программы»

» Командная строка, батники, сценарии (bat, cmd)

Автор: Maza Faka
Дата сообщения: 17.05.2007 14:14
king_stiven

Цитата:
можно ли сосчитать число знаков в строке, включая пробелы?

Ну например так:

Код:
@Echo off
Echo Hello world> tmp
for %%a in (tmp) do set Symbol=%%~za
set /a symbol-=2
Echo %symbol%
Автор: Elroir
Дата сообщения: 17.05.2007 14:17
king_stiven

Цитата:
Если %%e начинается с пробела, пробел не сохраняется.

Видимо какой-то баг for-а. У меня тоже не получилось вывести через for файл начинающийся с пробела (пробелов).

Цитата:
А пример, желательно простой

http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start=1600#19
Но если это нужно для определения первого пробела - скорее всего не поможет.

Добавлено:
Maza Faka
Не увидел, что ты ответил
Автор: Maza Faka
Дата сообщения: 17.05.2007 14:34
Elroir
Так я вспомнил, именно твой пример по ссылке, когда-то он меня поразил, потому и запомнил!
Автор: king_stiven
Дата сообщения: 17.05.2007 14:58

Цитата:
Maza Faka

Спасибо! И как это я %%~za просмотрел?
Автор: utka00
Дата сообщения: 17.05.2007 15:21
Добрый день.
Вопрос такой: если запущено несколько копий программы то как закрыть только некоторые (через батник конечно)
Спасибо всем кто поможет
Автор: Elroir
Дата сообщения: 17.05.2007 17:04
utka00
Заголовки окон разных копий программы отличаются?
Автор: utka00
Дата сообщения: 17.05.2007 17:07
Elroir
да
Автор: Elroir
Дата сообщения: 17.05.2007 17:13
utka00
По каким критериям идет отбор копий, которые надо закрыть?

Добавлено:
И вообще приведи конкретный пример того, что ты хочешь сделать - что запущено, что ты хочешь закрыть и т.д.
Автор: utka00
Дата сообщения: 17.05.2007 17:26
Имя файла M.exe
заголовки:
first - ...
second - ...
third - ...
вот их и хочу закрывать разом
Автор: Elroir
Дата сообщения: 17.05.2007 17:59
utka00

Код:
@echo off
taskkill /IM m.exe /FI "WINDOWTITLE eq first*">null
taskkill /IM m.exe /FI "WINDOWTITLE eq second*">null
taskkill /IM m.exe /FI "WINDOWTITLE eq third*">null
Автор: utka00
Дата сообщения: 17.05.2007 18:07
Elroir
работает только один косяк - прога просит подтверждения, варианты: да, нет, отмена
и еще появляется файл null, как то бы без него можно?
Автор: Elroir
Дата сообщения: 17.05.2007 19:19
utka00

Цитата:
еще появляется файл null, как то бы без него можно?

Конечно - это я вместо одной буквы "l" в слове nul, написал две . Убери в каждой строчке одну "l" в конце.

Цитата:
только один косяк - прога просит подтверждения, варианты: да, нет, отмена

Я тестировал на notepad.exe - он не спрашивает подтверждения.
Вот новый код:

Код: @echo off
taskkill /IM m.exe /FI "WINDOWTITLE eq third*" /F >nul
taskkill /IM m.exe /FI "WINDOWTITLE eq second*" /F>nul
taskkill /IM m.exe /FI "WINDOWTITLE eq third*" /F>nul
Автор: utka00
Дата сообщения: 17.05.2007 19:33
Elroir
странно, почемуто first - ... не закрывается, а иногда вобще не закрывается ниче
А может как то можно закрыть все окна программы кроме определенного, мне так даже лучше былобы
Автор: Elroir
Дата сообщения: 17.05.2007 19:36
utka00
Действительно странно - убери в конце строчек ">nul", запусти и посмотри что пишется.
Автор: utka00
Дата сообщения: 17.05.2007 19:39
Elroir
сделал - теперь только ... закрылся)
Автор: Elroir
Дата сообщения: 17.05.2007 19:42
utka00

Цитата:
сделал - теперь только ... закрылся)


Добавь строчку с командой "pause", запусти посмотри, что выдают команды taskkill в командную строку
Автор: utka00
Дата сообщения: 17.05.2007 19:48
Подожди давай поподробнее куда подставить pause и про какой пример ты говоришь про 1й или 2й
2й вариант http://pokoynik.dom.raid.ru/close.png
причем какойто один всегда не закрывается
Автор: Elroir
Дата сообщения: 17.05.2007 19:51
utka00
Про второй - тот которык без ">nul"
Первую строчку убери и добавь добавь 4-ую строчку - команду "pause"
Вот так:

Код:
taskkill /IM m.exe /FI "WINDOWTITLE eq first*" /F
taskkill /IM m.exe /FI "WINDOWTITLE eq second*" /F
taskkill /IM m.exe /FI "WINDOWTITLE eq third*" /F
pause
Автор: utka00
Дата сообщения: 17.05.2007 20:02
сделал - один всеравно не закрывается
http://pokoynik.dom.raid.ru/close2.png
Автор: Elroir
Дата сообщения: 17.05.2007 20:04
Понятно - попробуй так:

Код:
start /wait taskkill /IM m.exe /FI "WINDOWTITLE eq first*" /F
start /wait taskkill /IM m.exe /FI "WINDOWTITLE eq second*" /F
start /wait taskkill /IM m.exe /FI "WINDOWTITLE eq third*" /F
pause
Автор: utka00
Дата сообщения: 17.05.2007 20:05
http://pokoynik.dom.raid.ru/close3.png
Автор: Elroir
Дата сообщения: 17.05.2007 20:15
utka00
Ничерта не понимаю - у меня точно такие же команды работают на ура.
Попробуй так:

Код:
taskkill /IM m.exe /FI "WINDOWTITLE eq first*" /F
taskkill /IM m.exe /FI "WINDOWTITLE eq second*" /F
taskkill /IM m.exe /FI "WINDOWTITLE eq third*" /F
taskkill /IM m.exe /FI "WINDOWTITLE eq first*" /F
taskkill /IM m.exe /FI "WINDOWTITLE eq second*" /F
taskkill /IM m.exe /FI "WINDOWTITLE eq third*" /F
pause
Автор: utka00
Дата сообщения: 17.05.2007 20:19
http://pokoynik.dom.raid.ru/close4.png
один закрылся
Автор: Elroir
Дата сообщения: 17.05.2007 20:28
utka00
Запусти из командной строки следующую команду и выложи результат.

Код:
tasklist /FI "IMAGENAME eq m.exe" /v /nh
Автор: utka00
Дата сообщения: 17.05.2007 20:30
http://pokoynik.dom.raid.ru/close5.png
Автор: Elroir
Дата сообщения: 17.05.2007 20:52
utka00
Пойдем другим путем:

Код: @echo off
tasklist /FI "IMAGENAME eq m.exe" /v /nh
setlocal enabledelayedexpansion
for /f "tokens=2,11" %%a in ('tasklist /FI "IMAGENAME eq m.exe" /v /nh') do (
if /i "%%b"=="first" set "pidlist=!pidlist!/PID %%a "
if /i "%%b"=="second" set "pidlist=!pidlist!/PID %%a "
if /i "%%b"=="third" set "pidlist=!pidlist!/PID %%a "
)
taskkill %pidlist% /F
Автор: utka00
Дата сообщения: 17.05.2007 20:54
http://pokoynik.dom.raid.ru/close6.png
Автор: Elroir
Дата сообщения: 17.05.2007 21:14
utka00
Какая интересная задачка попалась
Запусти команду
tasklist /FI "IMAGENAME eq m.exe" /v /nh>tasks.txt
Создастся файл tasks.txt. Выложи его содержимое.
Автор: utka00
Дата сообщения: 17.05.2007 21:20
http://pokoynik.dom.raid.ru/tasks.txt
Автор: Elroir
Дата сообщения: 17.05.2007 21:29
utka00
Еще интереснее. У тебя аська есть? А то очень неудобно через форум вести беседу

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879

Предыдущая тема: Problemi s zagruzkoy XP!


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