Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Отсортировать список процессов по ProcessID

Ответить
Настройки темы
CMD/BAT - [решено] Отсортировать список процессов по ProcessID

Пользователь


Сообщения: 148
Благодарности: 39

Профиль | Сайт | Отправить PM | Цитировать


Подскажите, пожалуйста,
почему переменная !PID:~-4! не раскрывается, если мы собираем поток для передачи через канал к Sort?

Код: Выделить весь код
@echo off
SetLocal EnableExtensions EnableDelayedExpansion

(
for /f "tokens=1,2 delims=," %%a in ('tasklist /nh /fo csv') do (
  @echo off
  set /A C+=1
  set PID=000%%~b
  echo !PID:~-4!	%%~a
)) | sort

pause

Отправлено: 22:12, 10-08-2013

 

Ветеран


Сообщения: 1759
Благодарности: 966

Профиль | Цитировать


Код: Выделить весь код
@echo off
setlocal

(

    for /f "tokens=1,2 delims=," %%i in ('tasklist /nh /fo csv') do (

        set "pid=0000%%~j"
        call echo %%pid:~-4%% %%~i

    )

) | sort

Последний раз редактировалось Foreigner, 10-08-2013 в 23:38.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:51, 10-08-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 148
Благодарности: 39

Профиль | Сайт | Отправить PM | Цитировать


Foreigner, спасибо. Так работает.

-------
Alex Dragokas


Отправлено: 01:25, 11-08-2013 | #3


Пользователь


Сообщения: 148
Благодарности: 39

Профиль | Сайт | Отправить PM | Цитировать


Забавно. Если написать во внутреннем цикле команду REM - вывода не будет.

-------
Alex Dragokas


Отправлено: 01:40, 11-08-2013 | #4


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Diskretor:
почему переменная !PID:~-4! не раскрывается, если мы собираем поток для передачи через канал к Sort? »
Потому что команда слева от "|" запускается в отдельном процессе CMD.EXE, в который предварительно копируются все пользовательские переменные окружения, а вот параметры сеанса (в том числе, отложенное расширение переменных, отображение команд и т.п.) сбрасываются в дефолтовые. Другим неприятным моментом такого поведения является то, что все изменения в переменных окружения дочернего CMD.EXE не будут отражены в родительском.

Цитата Diskretor:
Если написать во внутреннем цикле команду REM - вывода не будет. »
альтернативные варианты: REM. , REM: или REM/
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:56, 11-08-2013 | #5


Пользователь


Сообщения: 148
Благодарности: 39

Профиль | Сайт | Отправить PM | Цитировать


Изображения
Тип файла: png debug_mode.png
(5.4 Kb, 14 просмотров)

Цитата amel27:
все изменения в переменных окружения дочернего CMD.EXE не будут отражены в родительском. »
Да уж. Действительно, нежданчик

Код: Выделить весь код
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
set before=10
(
  for /L %%C in (1,1,1) do (
    echo %before%
    set d=15
    set n=%%C& set after=%d%& set after=!d!
    echo !n!
    echo !after!
  )
) 1>&2 | set x=
echo ----------
echo %n%
echo %after%

Отправлено: 23:39, 13-08-2013 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Отсортировать список процессов по ProcessID

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Закрывать список процессов каждых 2 минуты tarasov.evgeny AutoIt 3 08-09-2010 17:05
Разное - [Outlook] Отсортировать список контактов в Адресной книге Gangabass Microsoft Office (Word, Excel, Outlook и т.д.) 0 18-08-2009 08:28
[решено] Как выгрузить список процессов в файл: Bugs Microsoft Windows NT/2000/2003 3 08-03-2008 19:53
Удаленно получить список процессов Dronec Сетевые технологии 1 25-09-2004 12:49
Удаленно получить список процессов Dronec Защита компьютерных систем 4 24-09-2004 14:41




 
Переход