obiges prgramm vergleicht nur ein vorgegebenes passwort mit der eingabe und setzt den errorlevel entsprechend.
nach einigem nachforschen (jahrelang unter unix via sh und perl programmiert, da wird man bei win-batches
wahnsinnig 
wenn man es nicht kennt)
bin ich auf folgendes gekommen:
das c-programm schreibt seine eingabe in eine temporäre datei, die das batch vorgibt, ausliest und gleich wieder löscht. evntl. geht das auch eleganter, hab aber nix gefunden.
.bat
Code:
@echo off
set tmpfile=%TEMP%\%DATE%%RANDOM%%RANDOM%.tmp
call \temp\file_passwd "%tmpfile%"
if errorlevel 1 goto passok
echo es gab fehler
goto :eof
:passok
FOR /f "delims=" %%i IN (%tmpfile%) do set PW=%%i
echo passwort=%PW%
del %tmpfile%
http://rapidshare.com/files/284980634/file_passwd.exe