우리 프로젝트에서는 사용자가 사용자 이름과 암호를 입력하는 Windows 응용 프로그램을 사용하여 Windows 서비스를 설치하고 있습니다. 제출을 클릭하면 사용자 이름과 비밀번호를 바꾸고 배치 파일을 실행하는 배치 파일을 실행합니다.
문제 : 암호에 % 문자가 포함되어 있으면 설치에 실패했습니다.
내 배치 파일 콘텐츠
@ECHO OFF
set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v2.0.50727
set PATH=%PATH%;%DOTNETFX2%
echo Installing TestPrint Win Service...
echo ---------------------------------------------------
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil /username=domain\112233/password=5one0one4% "%~dp0TestPrint.exe"
echo ---------------------------------------------------
C # 부분의 경우. 작동하려면 인수를 인용해야합니다.
string _userName = @"xrxodc\394657";
string _password = @"5one0one4%";
Process proc = new Process();
proc.StartInfo.FileName = @"C:\somewhere\batchFile.cmd";
proc.StartInfo.Arguments = String.Format("\"{0}\" \"{1}\"", _userName, _password)
proc.Start();
배치 부분
....
set "userName=%~1"
set "password=%~2"
....
.... InstallUtil /username=%userName% /password=%password% "%~dp0TestPrint.exe"
그리고 테스트 할 수는 없지만 허용되는 경우 구문을 다음과 같이 변경해야합니다.
.... InstallUtil /username="%userName%" /password="%password%" "%~dp0TestPrint.exe"
암호의 특수 문자 문제를 방지하려면
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다