No — Windows has no registry value, environment variable, or console setting that tells command-line tools to print untruncated output. Every classic console utility lays out its own tables, and tasklist hard-codes an image-name column of roughly 25 characters. To see complete names, either switch tasklist to a machine-readable format with /FO CSV, or move the check into PowerShell, where text formatting happens only after the pipeline has finished.
Why tasklist clips the name at 25 characters
The default tasklist view is a fixed-width table designed around typical executable names. The Image Name column is about 25 characters wide, and anything longer is silently cut with no ellipsis or marker. A process such as Contoso.Audit.CommonBackgroundService.exe therefore renders as Contoso.Audit.CommonBackg — and any search term that lived in the clipped tail, like "background", is no longer present in the visible text at all.
Two details matter here. First, the clipping has nothing to do with your window size: widening the console, enlarging the screen buffer, or running mode con will not widen that column, because the widths are baked into the tool's renderer. Second, no data is actually lost. The full name exists in memory the whole time; only the human-readable rendering is shortened. That is why the same process shows up complete the moment you change the output format.
Why there is no global "don't truncate" switch
Classic console tools — tasklist, netstat, sc, route print and friends — each implement their own display code. Windows does not ship a shared table-formatting engine that they all call into, so there is no single knob that would change how every tool draws its columns. Such a setting would have to be built into each tool individually, and none of them expose one.
The big exception is PowerShell. Native cmdlets emit structured objects, and the conversion to text happens at the very end of the pipeline, performed by the host rather than by the command. That makes formatting controllable per command — with Format-List, Format-Table, Select-Object and similar — but it is still a per-pipeline choice, not a system-wide configuration.
Getting full names out of tasklist
The quickest fix is to ask for CSV. In that format every field is quoted and complete, so a text search now sees the entire image name:
tasklist /FO CSV | findstr /I "background"
Add /NH to suppress the header row, or use /FO LIST when you prefer one value per line. Alternatively, let tasklist do the matching itself: the /FI filter accepts wildcards and is evaluated against the full, untruncated name:
tasklist /FI "IMAGENAME eq *CommonBackground*"
For scripts, combine the filter with /FO CSV so the consuming code receives clean, complete fields instead of a display table.
The PowerShell alternative
PowerShell solves the problem more cleanly because filtering operates on objects, not on rendered text. Note that Get-Process names do not include the .exe extension:
Get-Process *CommonBackground*
Get-Process | Where-Object ProcessName -like '*background*'
Because objects stay intact through the pipeline, intermediate filters never see clipped text; truncation can only occur in the final rendering, and you control that. Format-List (alias fl) never truncates, while Format-Table with an explicit column list keeps the output narrow and readable:
Get-Process *CommonBackground* | Format-List
Get-Process *CommonBackground* | Format-Table ProcessName, Id, WS
When you need more than the process name — the full command line or the executable path, for example — query CIM instead:
Get-CimInstance Win32_Process -Filter "Name LIKE '%CommonBackground%'"
Rules of thumb
- Treat default table output as human-only. It is formatted for quick reading, and columns are clipped to fixed widths regardless of window size.
- Never parse the table view in scripts. Use
/FO CSV,/FO LIST, or PowerShell objects whenever a program, not a person, consumes the result. - Remember what text search actually sees. Piping a formatted table into
findstrsearches the rendered, possibly clipped strings — search the CSV form or filter on objects instead. - Don't chase a universal setting. Formatting lives inside each tool; the controllable layer is the output format you request or the pipeline you build.
Frequently Asked Questions
Does enlarging the console window or its buffer stop the truncation?
No. The column widths in tasklist's table renderer are fixed and do not respond to window size or mode con settings. Only /FO CSV, /FO LIST, or PowerShell show the complete string.
Is there a registry key that disables column truncation system-wide?
No. Each console tool contains its own formatting code, and Windows exposes no shared setting that would affect all of them. The closest thing to a system-wide fix is preferring PowerShell, where you choose the formatting per pipeline.
Why did findstr report nothing even though the process was running?
findstr scans the rendered text, not the underlying data. The clipped name ended at something like ...CommonBackg, so the substring you searched for was never present in what findstr received — the /I flag cannot help when the text simply is not there.
Are there downsides to /FO CSV?
It is still localized console text, so a parser should handle quoted fields properly; a real CSV parser is safer than splitting on commas. For fully stable automation, prefer PowerShell objects or Get-CimInstance, which are unaffected by console language or code page.
Does Get-Process require the .exe extension in its name pattern?
No. The ProcessName property excludes the extension, so Get-Process *CommonBackground* matches an executable named Contoso.Audit.CommonBackgroundService.exe.
What about wmic for querying process details?
wmic is deprecated and being removed from current Windows builds. Use Get-CimInstance Win32_Process instead; it returns the full image path and command line without any display truncation.