Re: Redirecting command output to environment variable and tracking errorlevel
- From: "Tom Lavedas" <tglbatch@xxxxxxx>
- Date: 22 Feb 2007 06:24:34 -0800
On Feb 22, 8:10 am, yairin...@xxxxxxxxx wrote:
Hello,
I am trying to run a command, fetch its output to an environment
variable and get errorlevel. I know I can solve it with simple exe/
perl that do it, but I need to stick to CMD
I first tried:
for /f "delims=" %%A in ('mycmd') do set Output=%%A
echo %errorlevel%
echo %Output%
The output works fine but the ErrorLevel is of the set command and not
of mycmd.
Then I tried
for /f "delims=" %%A in ('mycmd') do set Rc=%errorlevel% & set Output=%
%A
echo %Rc%
echo %Output%
But the cmd shell substiture error level before running the command.
The next step was using delayed expansion:
setlocal ENABLEDELAYEDEXPANSION
for /f "delims=" %%A in ('mycmd') do set Rc=!errorlevel! & set Output=%
%A
echo %Rc%
echo %Output%
but still I've got the errorlevel value of before the execution of CMD
Does anyone have any ideas?
Thanks,
Yair
This is the only way I can think to do what you want - at least it is
one way ...
mycmd > %temp%\out.txt
set RC=%Errorlevel%
for /f "delims=" %%a in (%temp%\out.txt) do set Output=%%a
del %temp%\out.txt
echo %Rc%
echo %Output%
Tom Lavedas
=============
http://members.cox.net/tglbatch/wsh
.
- Follow-Ups:
- References:
- Prev by Date: Re: Redirecting command output to environment variable and tracking errorlevel
- Next by Date: Re: Redirecting command output to environment variable and tracking errorlevel
- Previous by thread: Re: Redirecting command output to environment variable and tracking errorlevel
- Next by thread: Re: Redirecting command output to environment variable and tracking errorlevel
- Index(es):
Relevant Pages
|
Loading