8

When we run the following command in PowerShell:

get-date | sc C:\temp\date.log

it creates date.log file with current date.

But if we run the same via CMD:

powershell get-date | sc C:\temp\date.log

It complains:

ERROR: Unrecognized command

DESCRIPTION:
        SC is a command line program used for communicating with the
        Service Control Manager and services.
USAGE:
        sc <server> [command] [service name] <option1> <option2>...

Apparently, CMD confuses pipeline meant for POSH, with its own.

Can anyone point me how to make it run via CMD?

Thanks in anticipation.

2 Answers 2

17
powershell -Command " & {Get-Date | sc c:\tmp\date.log}"

CMD and PowerShell

Sign up to request clarification or add additional context in comments.

2 Comments

Broken link here.
0

As long as the pipe symbol is escaped from cmd with double-quotes, it will work. Sc is an unfortunate alias, since there's an sc.exe command in windows. ? or where-object might be easier than trying to embed an extra set of double-quotes in a query.

powershell "get-date | set-content c:\tmp\date.log"

powershell "get-ciminstance win32_volume | ? label -like 'month *' | select label"

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.