Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: STDOUT pipe piping data > >>
Reference: W16228
This RunCmd UDF supports StdOUT and StdERR making it suitable for running PSExec.
; Run console command and capture StdOUT and StdERR ; Les Ferch, March 27, 2008 #DefineFunction RunCmd(Command) If Command=="" Then Return "" Temp = Environment("Temp") ComSpec = Environment("ComSpec") F1 = StrCat(Temp,"\",GetTickCount(),"1.txt") F2 = StrCat(Temp,"\",GetTickCount(),"2.txt") RunHideWait(ComSpec,StrCat('/c "',Command,' >"',F1,'"',' 2>"',F2,'""')) F1Data = StrReplace(StrTrim(FileGet(F1)),StrCat(@CR,@CR),@CR) F2Data = StrReplace(StrTrim(FileGet(F2)),StrCat(@CR,@CR),@CR) Separator = Num2Char(160) ; Non-breaking space used to separate StdERR from StdOUT If F1Data=="" || F2Data=="" Then Separator="" Result = StrCat(F2Data,@CRLF,Separator,F1Data) FileDelete(F1) FileDelete(F2) Return Result #EndFunction ;Internal commands: Pause("",RunCmd("date /t")) Pause("",RunCmd("vol c:")) Pause("",RunCmd("ver")) Pause("",RunCmd('tree "c:\program files\common files" /a')) Pause("",RunCmd("n0suchcmd")) ; Intentional error ;Console mode executables: Pause("",RunCmd("ipconfig /all")) Pause("",RunCmd("tasklist")) Pause("",RunCmd("systeminfo")) Pause("",RunCmd("schtasks")) Pause("",RunCmd("route print")) Pause("",RunCmd("nslookup ls")) Pause("",RunCmd("netstat -a")) Pause("",RunCmd("netstat -n")) Pause("",RunCmd("netstat -r")) Pause("",RunCmd("ipxroute config")) Pause("",RunCmd("net statistics workstation")) Pause("",RunCmd("net view")) Pause("",RunCmd("nbtstat -n")) Pause("",RunCmd("getmac")) Pause("",RunCmd("driverquery")) Pause("",RunCmd("ping www.winbatch.com -w 100 -n 1")) Pause("",RunCmd("tracert www.winbatch.com -w 100 -h 5")) ;Console mode scripts: DirChange(DirWindows(1)) Pause("",RunCmd("cscript prnport.vbs")) Pause("",RunCmd("cscript prnmngr.vbs")) Pause("",RunCmd("cscript prnjobs.vbs")) Pause("",RunCmd("cscript prndrvr.vbs")) Pause("",RunCmd("cscript eventquery.vbs /l application")) ;Quotes in parameters are okay: DirChange(Environment("Temp")) FilePut("File 1.txt",StrReplace("a|b|c|d|e","|",@CRLF)) FilePut("File 2.txt",StrReplace("a|b|x|d|e","|",@CRLF)) Pause("",RunCmd('fc "File 1.txt" "File 2.txt"')) ;PSExec example: Data = RunCmd('psexec \\10.9.192.58 -u domain\account -p password getmac') Pause("",Data) StdERR = ItemExtract(1,Data,Num2Char(160)) StdOUT = ItemExtract(2,Data,Num2Char(160)) Pause("",StdERR) Pause("",StdOUT)
Article ID: W17478
File Created: 2014:07:18:09:51:40
Last Updated: 2014:07:18:09:51:40