Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Проверил ещё раз, взяв свой же код с форума и создав сохранённый пароль для пользователя «User@domain.dom»:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sUserName=User@domain.dom
call :GetTemporaryName

netpass.exe /stab "%TemporaryName%"

for /f "tokens=4 delims=	" %%i in ('findstr.exe /i /r /c:".*	%sUserName%	.*" "%TemporaryName%"') do set sPassword=%%i

del /f /q "%TemporaryName%"

if defined sPassword (
	echo Found Password [%sPassword%] for User [%sUserName%]
) else (
	echo Not found saved password for User [%sUserName%]
)

endlocal
exit /b 0

rem ==========================================================================
rem Функция GetTemporaryName()
rem
rem Серый форум / CMD/BAT: генерация пути для временного файла или папки
rem (http://forum.script-coding.com/viewtopic.php?id=6259)
rem ==========================================================================
:GetTemporaryName
	setlocal enableextensions enabledelayedexpansion

:NextName
	set sTempName=%temp%\temp%random%.tmp

	if exist "%sTempName%" goto :NextName

	set sProcName=%~0

	endlocal & set %sProcName:~4%=%sTempName%
	exit /b 0
rem ==========================================================================

У меня работает:
Цитата:
Код: Выделить весь код
E:\Песочница\0084>0006.cmd
Found Password [1234567890] for User [User@domain.dom]
Может быть, «findstr.exe» под Windows 7 работает иначе? Закомментируйте:
Код: Выделить весь код
del /f /q "%TemporaryName%"
добавьте после:
Код: Выделить весь код
call :GetTemporaryName
вывод имени временного файла:
Код: Выделить весь код
echo %TemporaryName%
и попробуйте посмотреть «ручками» — в сам временный файл учётные данные попадают?

Отправлено: 00:41, 10-10-2011 | #20