Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 

Recommended Posts

Caml Light    0

Hi guys, with tasklist command i need to save as txt all running processes, so i've created a batch file with:

TASKLIST > processes.txt

At this point i would need to save as txt only the image names, without PID, session name and so on... simply a txt file in this format:

csrss.exe
svchost.exe
taskmgr.exe
wininit.exe
winlogon.exe
...

Is it possible to do it for you? Thank you in advance.

Cheers :)

Share this post


Link to post
Share on other sites
tomasz86    68

It works fine here so it must be a different version of tasklist.exe to have different output than mine. You didn't mention your OS though :whistle:

Could you show an example how your tasklist.exe output looks like?

Here it's sth like this:

Image Name                   PID Session Name     Session#    Mem Usage
========================= ====== ================ ======== ============
System Idle Process 0 0 36 K
System 8 0 28 K
smss.exe 240 0 36 K

Edited by tomasz86

Share this post


Link to post
Share on other sites
Yzöwl    30

How would this do for your needs:

@ECHO OFF
>PROCESSES.TXT TYPE NUL
FOR /F "DELIMS=," %%# IN ('TASKLIST /FI "STATUS eq RUNNING" /FO "CSV" /NH') DO (
>>PROCESSES.TXT ECHO=%%~#)

Share this post


Link to post
Share on other sites
Caml Light    0

Yzöwl your batch works perfectly! This time i only need to modifying it to save as text all processes, so i've delete this:

/FI "STATUS eq RUNNING"

@ECHO OFF
>processes.log TYPE NUL
FOR /F "DELIMS=," %%# IN ('TASKLIST /FO "CSV" /NH') DO (
>>processes.log ECHO=%%~#)

The problem now is that there are many duplicates, for ex. svchost.exe or csrss.exe are reported many times in the text file. Should you have an idea to list all processes one time only?

Share this post


Link to post
Share on other sites
Yzöwl    30

The following should be sufficient although it does seem a little pointless not knowing how many separate instances of a process are running.

@ECHO OFF
>processes.log TYPE NUL
FOR /F "DELIMS=," %%# IN ('TASKLIST /FO "CSV" /NH') DO (
>NUL FINDSTR/IBE "%%~#" processes.log||>>processes.log ECHO=%%~#)

Please note that cmd.exe, conhost.exe and tasklist.exe may be included only as a result of your query, but since there is no way of knowing I'd be inclined not to remove them from the logged results.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×