103

他のプログラムを実行するバッチ ファイルを作成しています。この場合、パスワードの入力を求める必要があります。入力テキストをマスクする方法はありますか? 入力文字の代わりに ******** 文字を出力する必要はありません。Linux のパスワード プロンプトの動作 (入力中に何も出力しない) で十分です。

@echo off
SET /P variable=Password : 
echo %variable%
Pause

これは入力を読み取りますが、このアプローチを使用してテキストをマスクすることはできません。

4

18 に答える 18

51

XP および Server 2003 までは、付属の別のツール (VBScript) を使用できます。次の 2 つのスクリプトは、必要な作業を実行します。

まず、getpwd.cmd:

@echo off
<nul: set /p passwd=Password: 
for /f "delims=" %%i in ('cscript /nologo getpwd.vbs') do set passwd=%%i
echo.

次に、getpwd.vbs:

Set oScriptPW = CreateObject("ScriptPW.Password")
strPassword = oScriptPW.GetPassword()
Wscript.StdOut.WriteLine strPassword

getpwd.vbs単純にパスワード オブジェクトを使用してユーザーからパスワードを入力し、それを標準出力に出力します (次の段落では、ターミナルにパスワードが表示されない理由を説明します)。

コマンド スクリプトはgetpwd.cmd少しトリッキーですが、基本的には次のように動作します。

コマンドの効果は、末尾に改行文字を付けずにプロンプ​​トを出力することです。これは、シェルからコマンド"<nul: set /p passwd=Password: "をエミュレートするための卑劣な方法 です。無関係な副作用として空の文字列に設定され、デバイスから入力を取得しているため、入力を待機しません。"echo -n"bashpasswdnul:

ステートメントは最も"for /f "delims=" %%i in ('cscript /nologo getpwd.vbs') do set passwd=%%i"トリッキーなビットです。Microsoftの「広告」なしでVBScriptを実行するため、唯一の行出力はパスワードです(VBscript "Wscript.StdOut.WriteLine strPassword".

入力行全体をスペースでキャプチャするには、区切り文字を何も設定しない必要があります。そうしないと、最初の単語を取得するだけです。この"for ... do set ..."ビットはpasswd、VBScript からの実際のパスワード出力に設定されます。

次に、(行を終了するために) 空白行をエコーし​​、コードの実行後"Password: "にパスワードがpasswd環境変数に入れられます。


現在、前述のとおり、scriptpw.dllXP/2003 までしか利用できません。これを修正するには、XP/2003 システムのフォルダから自分のシステムのまたはフォルダにscriptpw.dllファイルをコピーするだけです。DLL がコピーされたら、次のコマンドを実行して登録する必要があります。Windows\System32Winnt\System32Windows\System32

regsvr32 scriptpw.dll

Vista 以降で DLL を正常に登録するには、管理者権限が必要です。私はそのような動きの合法性を調べていないので、洞窟の牧師。


(便宜上または法的な理由で) 古い D​​LL ファイルを追跡して登録することにあまり熱心でない場合は、別の方法があります。それ以降のバージョンの Windows (必要な DLL が含まれていないバージョン) では、 Powershell を利用できるはずです。

実際、スクリプトは .NET よりもはるかに優れたスクリプト言語であるため、スクリプトを完全に使用するにはアップグレードを検討する必要がありますcmd.exe。ただし、コードの大部分をcmd.exeスクリプトとして保持したい場合 (変換したくないコードがたくさんある場合など) は、同じトリックを使用できます。

まず、cmdCScript ではなく Powershell を呼び出すようにスクリプトを変更します。

@echo off
for /f "delims=" %%i in ('powershell -file getpwd.ps1') do set passwd=%%i

Powershell スクリプトも同様に単純です。

$password = Read-Host "Enter password" -AsSecureString
$password = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($password)
$password = [Runtime.InteropServices.Marshal]::PtrToStringAuto($password)
echo $password

ただし、実際のパスワード テキストを取得するためのマーシャリングが必要です。

ローカルの署名されていない Powershell スクリプトをマシンで実行するには、実行ポリシーを (厳格ですが非常に安全な) デフォルトから次のように変更する必要がある場合があることに注意してください。

set-executionpolicy remotesigned

Powershell 自体から。

于 2009-03-20T06:40:11.297 に答える
26

1.ここXCOPYにあるコマンドとその/P /Lスイッチを(ab)使用する純粋なバッチソリューション(これに関するいくつかの改善点はここにあります):

:: Hidden.cmd
::Tom Lavedas, 02/05/2013, 02/20/2013
::Carlos, 02/22/2013
::https://groups.google.com/forum/#!topic/alt.msdos.batch.nt/f7mb_f99lYI


@Echo Off
:HInput
SetLocal EnableExtensions EnableDelayedExpansion
Set "FILE=%Temp%.\T"
Set "FILE=.\T"
Keys List >"%File%"
Set /P "=Hidden text ending with Ctrl-C?: " <Nul
Echo.
Set "HInput="
:HInput_
For /F "tokens=1* delims=?" %%A In (
 '"Xcopy /P /L "%FILE%" "%FILE%" 2>Nul"'
) Do (
  Set "Text=%%B"
  If Defined Text (
    Set "Char=!Text:~1,1!"
    Set "Intro=1"
    For /F delims^=^ eol^= %%Z in ("!Char!") Do Set "Intro=0"
    Rem If press Intro
    If 1 Equ !Intro! Goto :HInput#
    Set "HInput=!HInput!!Char!"
  )
)
Goto :HInput_
:HInput#
Echo(!HInput!
Goto :Eof 

1.2 replace コマンドに基づく別の方法

@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion

Set /P "=Enter a Password:" < Nul
Call :PasswordInput
Echo(Your input was:!Line!

Goto :Eof

:PasswordInput
::Author: Carlos Montiers Aguilera
::Last updated: 20150401. Created: 20150401.
::Set in variable Line a input password
For /F skip^=1^ delims^=^ eol^= %%# in (
'"Echo(|Replace.exe "%~f0" . /U /W"') Do Set "CR=%%#"
For /F %%# In (
'"Prompt $H &For %%_ In (_) Do Rem"') Do Set "BS=%%#"
Set "Line="
:_PasswordInput_Kbd
Set "CHR=" & For /F skip^=1^ delims^=^ eol^= %%# in (
'Replace.exe "%~f0" . /U /W') Do Set "CHR=%%#"
If !CHR!==!CR! Echo(&Goto :Eof
If !CHR!==!BS! (If Defined Line (Set /P "=!BS! !BS!" <Nul
Set "Line=!Line:~0,-1!"
)
) Else (Set /P "=*" <Nul
If !CHR!==! (Set "Line=!Line!^!"
) Else Set "Line=!Line!!CHR!"
)
Goto :_PasswordInput_Kbd

2.HTA ポップアップを使用するパスワード送信者これは hybrit .bat/jscript/mshtaファイルであり、.batとして保存する必要があります。

<!-- :
:: PasswordSubmitter.bat
@echo off
for /f "tokens=* delims=" %%p in ('mshta.exe "%~f0"') do (
    set "pass=%%p"
)

echo your password is %pass%
exit /b
-->

<html>
<head><title>Password submitter</title></head>
<body>

    <script language='javascript' >
        window.resizeTo(300,150);
        function entperPressed(e){
                if (e.keyCode == 13) {
                    pipePass();
                }
        }
        function pipePass() {
            var pass=document.getElementById('pass').value;
            var fso= new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1);
            close(fso.Write(pass));

        }
    </script>

    <input type='password' name='pass' size='15' onkeypress="return entperPressed(event)" ></input>
    <hr>
    <button onclick='pipePass()'>Submit</button>

</body>
</html>

3.自己コンパイルされた .net ハイブリッド.Again として保存する必要があります.bat。他のソリューションとは異なり、呼び出される小さな .exe ファイルを作成/コンパイルします (必要に応じて削除できます)。インストールされた .net フレームワークも必要ですが、それはむしろ問題ではありません:

@if (@X)==(@Y) @end /* JScript comment
@echo off
setlocal enableDelayedExpansion

for /f "tokens=* delims=" %%v in ('dir /b /s /a:-d  /o:-n "%SystemRoot%\Microsoft.NET\Framework\*jsc.exe"') do (
   set "jsc=%%v"
)

if not exist "%~n0.exe" (
    "%jsc%" /nologo /out:"%~n0.exe" "%~dpsfnx0"
)

for /f "tokens=* delims=" %%p in ('"%~n0.exe"') do (
    set "pass=%%p"
)

echo your password is !pass!

endlocal & exit /b %errorlevel%

*/



import System;



var pwd = "";
var key;

Console.Error.Write("Enter password: ");

        do {
           key = Console.ReadKey(true);

           if ( (key.KeyChar.ToString().charCodeAt(0)) >= 20 && (key.KeyChar.ToString().charCodeAt(0) <= 126) ) {
              pwd=pwd+(key.KeyChar.ToString());
              Console.Error.Write("*");
           }

           if ( key.Key == ConsoleKey.Backspace && pwd.Length > 0 ) {
               pwd=pwd.Remove(pwd.Length-1);
               Console.Error.Write("\b \b");
           }


        } while (key.Key != ConsoleKey.Enter);
        Console.Error.WriteLine();
        Console.WriteLine(pwd);
于 2014-06-24T20:58:32.437 に答える
17

私はおそらくただするだろう:

..
echo Before you enter your password, make sure no-one is looking!
set /P password=Password:  
cls
echo Thanks, got that.
.. 

したがって、プロンプトが表示され、入力後に画面がクリアされます。

コマンドプロンプトからバッチファイルを実行すると、入力したパスワードがCMD履歴に保存されることに注意してください(@Mark K Cowanに感謝します)。

それが十分でない場合は、Python に切り替えるか、スクリプトの代わりに実行可能ファイルを作成します。

これらのどれも完璧なソリューションではないことはわかっていますが、おそらく1つで十分です:)

于 2009-03-20T05:48:11.373 に答える
13

すべての種類のフォーマットされた入力に ReadFormattedLine サブルーチンを使用できます。たとえば、次のコマンドは 8 文字のパスワードを読み取り、画面にアスタリスクを表示し、Enter キーを押さなくても自動的に続行します。

call :ReadFormattedLine password="********" /M "Enter password (8 chars): "

このサブルーチンは純粋な Batch で記述されているため、追加のプログラムは必要ありません。また、数字だけを読み取る、文字を大文字に変換するなど、いくつかのフォーマットされた入力操作が可能です。特定の形式の行を読み取るから ReadFormattedLine サブルーチンをダウンロードできます。


EDIT 2018-08-18 : 「見えない」パスワードを入力する新しい方法

FINDSTR コマンドには奇妙なバグがあり、このコマンドを使用して文字を色で表示し、そのようなコマンドの出力が CON デバイスにリダイレクトされる場合に発生します。FINDSTR コマンドを使用してテキストを色で表示する方法の詳細については、このトピックを参照してください。

この形式の FINDSTR コマンドの出力が CON にリダイレクトされると、テキストが目的の色で出力された後に奇妙なことが起こります。それ以降のすべてのテキストは「見えない」文字として出力されますが、より正確な説明は、テキストが黒い背景の上に黒いテキストとして出力します。COLOR コマンドを使用して画面全体の前景色と背景色をリセットすると、元のテキストが表示されます。ただし、テキストが「見えない」場合は、SET /P コマンドを実行できるため、入力したすべての文字が画面に表示されません。

@echo off
setlocal

set /P "=_" < NUL > "Enter password"
findstr /A:1E /V "^$" "Enter password" NUL > CON
del "Enter password"
set /P "password="
cls
color 07
echo The password read is: "%password%"
于 2014-07-16T22:43:53.943 に答える
6

別の代替手段は、私の EditV32 (x86) または EditV64 (x64) コマンドライン ツールです。例えば:

editv32 -m -p "Password: " PWD

-m は「マスクされた入力」を意味し、-p はプロンプトです。ユーザーの入力は、PWD 環境変数に格納されます。ここで入手できます:

https://westmesatech.com/?page_id=19

于 2009-05-27T18:01:42.803 に答える
4

Python がインストールされている場合は、次を使用できます。

for /f "delims=" %%A in ('python -c "import getpass; print(getpass.getpass('Enter the CVS password: '));"') do @set CVSPASS=%%A
echo PASS: %CVSPASS%

出力:

Enter the CVS password:
PASS: 123
于 2015-09-14T14:03:42.190 に答える
4

ソース コードがないことが気になる場合は、別の方法があります。

@echo off
for /f "delims=" %%p in ('ReadLine -h -p "Enter password: "') do set PWD=%%p
echo You entered: %PWD%

https://westmesatech.com/?page_id=49から入手できます。ソースコードが含まれています。

于 2014-05-17T02:56:48.360 に答える
2

私はBlorgbeardの上記のソリューションを使用しましたが、これは私の意見では実際に素晴らしいものです。次に、次のように拡張しました。

  1. アンシコンのためのグーグル
  2. zipファイルとサンプルテキストファイルをダウンロードします。
  3. インストール(つまり、2つのファイルをsystem32にコピーします)

次のように使用します。

@echo off
ansicon -p
set /p pwd=Password:ESC[0;37;47m
echo ESC[0m

これにより、パスワード入力のためにコンソールが灰色に切り替わり、終了すると元に戻ります。ESCは実際には印刷できない文字である必要があり、ダウンロードしたサンプルテキストファイル(メモ帳の左矢印のように表示されます)からバッチファイルにコピーできます。サンプルテキストファイルを使用して、すべての色の組み合わせのコードを見つけることができます。

マシンの管理者でない場合は、システム以外のディレクトリにファイルをインストールできる可能性があります。プログラムを呼び出してエスケープシーケンスを使用する前に、スクリプトのPATHにディレクトリを追加する必要があります。ほんの数ファイルの管理者以外の配布可能なパッケージが必要な場合は、これが現在のディレクトリである可能性もあります。

于 2012-04-12T14:08:13.597 に答える
1

非表示の文字に必要なものを呼び出すバッチファイルを作成してから、呼び出されるバッチファイルのショートカットを作成します。

右クリック

プロパティ

text == black

背景==黒

申し込み

わかった

希望はこうしてあなたを助けます!!!!!!!!

于 2013-02-10T06:40:25.973 に答える
0

これは古いトピックかもしれませんが、Windows Vista または 7 を使用している場合は、非常にうまく機能するソリューションがあります。ここでビデオを作成しました:http://www.youtube.com/watch?v=mk8uAa6PIFM

バッチファイルのペーストビンはこちら

于 2013-03-21T02:48:34.127 に答える
-1
@echo off
color 0f
MODE CON COLS=132 LINES=50
:start
cls
choice /C ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!?.# /N /CS /M Please enter your password to continue. (Valid characters include all letters, numbers, and ! ? .) Press # to submit: 
SET ecode=%ERRORLEVEL%
IF %ecode% EQU 66 goto submit
IF %ecode% EQU 1 SET out=A
IF %ecode% EQU 2 SET out=B
IF %ecode% EQU 3 SET out=C
IF %ecode% EQU 4 SET out=D
IF %ecode% EQU 5 SET out=E
IF %ecode% EQU 6 SET out=F
IF %ecode% EQU 7 SET out=G
IF %ecode% EQU 8 SET out=H
IF %ecode% EQU 9 SET out=I
IF %ecode% EQU 10 SET out=J
IF %ecode% EQU 11 SET out=K
IF %ecode% EQU 12 SET out=L
IF %ecode% EQU 13 SET out=M
IF %ecode% EQU 14 SET out=N
IF %ecode% EQU 15 SET out=O
IF %ecode% EQU 16 SET out=P
IF %ecode% EQU 17 SET out=Q
IF %ecode% EQU 18 SET out=R
IF %ecode% EQU 19 SET out=S
IF %ecode% EQU 20 SET out=T
IF %ecode% EQU 21 SET out=U
IF %ecode% EQU 22 SET out=V
IF %ecode% EQU 23 SET out=W
IF %ecode% EQU 24 SET out=X
IF %ecode% EQU 25 SET out=Y
IF %ecode% EQU 26 SET out=Z
IF %ecode% EQU 27 SET out=a
IF %ecode% EQU 28 SET out=b
IF %ecode% EQU 29 SET out=c
IF %ecode% EQU 30 SET out=d
IF %ecode% EQU 31 SET out=e
IF %ecode% EQU 32 SET out=f
IF %ecode% EQU 33 SET out=g
IF %ecode% EQU 34 SET out=h
IF %ecode% EQU 35 SET out=i
IF %ecode% EQU 36 SET out=j
IF %ecode% EQU 37 SET out=k
IF %ecode% EQU 38 SET out=l
IF %ecode% EQU 39 SET out=m
IF %ecode% EQU 40 SET out=n
IF %ecode% EQU 41 SET out=o
IF %ecode% EQU 42 SET out=p
IF %ecode% EQU 43 SET out=q
IF %ecode% EQU 44 SET out=r
IF %ecode% EQU 45 SET out=s
IF %ecode% EQU 46 SET out=t
IF %ecode% EQU 47 SET out=u
IF %ecode% EQU 48 SET out=v
IF %ecode% EQU 49 SET out=w
IF %ecode% EQU 50 SET out=x
IF %ecode% EQU 51 SET out=y
IF %ecode% EQU 52 SET out=z
IF %ecode% EQU 53 SET out=0
IF %ecode% EQU 54 SET out=1
IF %ecode% EQU 55 SET out=2
IF %ecode% EQU 56 SET out=3
IF %ecode% EQU 57 SET out=4
IF %ecode% EQU 58 SET out=5
IF %ecode% EQU 59 SET out=6
IF %ecode% EQU 60 SET out=7
IF %ecode% EQU 61 SET out=8
IF %ecode% EQU 62 SET out=9
IF %ecode% EQU 63 SET out=!
IF %ecode% EQU 64 SET out=?
IF %ecode% EQU 65 SET out=.
SET code=%out%
SET show=*
:loop
cls
choice /C ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!?.# /N /CS /M Please enter your password to continue. (Valid characters include all letters, numbers, and ! ? .) Press # to submit: %code%
SET ecode=%ERRORLEVEL%
IF %ecode% EQU 66 goto submit
IF %ecode% EQU 1 SET out=A
IF %ecode% EQU 2 SET out=B
IF %ecode% EQU 3 SET out=C
IF %ecode% EQU 4 SET out=D
IF %ecode% EQU 5 SET out=E
IF %ecode% EQU 6 SET out=F
IF %ecode% EQU 7 SET out=G
IF %ecode% EQU 8 SET out=H
IF %ecode% EQU 9 SET out=I
IF %ecode% EQU 10 SET out=J
IF %ecode% EQU 11 SET out=K
IF %ecode% EQU 12 SET out=L
IF %ecode% EQU 13 SET out=M
IF %ecode% EQU 14 SET out=N
IF %ecode% EQU 15 SET out=O
IF %ecode% EQU 16 SET out=P
IF %ecode% EQU 17 SET out=Q
IF %ecode% EQU 18 SET out=R
IF %ecode% EQU 19 SET out=S
IF %ecode% EQU 20 SET out=T
IF %ecode% EQU 21 SET out=U
IF %ecode% EQU 22 SET out=V
IF %ecode% EQU 23 SET out=W
IF %ecode% EQU 24 SET out=X
IF %ecode% EQU 25 SET out=Y
IF %ecode% EQU 26 SET out=Z
IF %ecode% EQU 27 SET out=a
IF %ecode% EQU 28 SET out=b
IF %ecode% EQU 29 SET out=c
IF %ecode% EQU 30 SET out=d
IF %ecode% EQU 31 SET out=e
IF %ecode% EQU 32 SET out=f
IF %ecode% EQU 33 SET out=g
IF %ecode% EQU 34 SET out=h
IF %ecode% EQU 35 SET out=i
IF %ecode% EQU 36 SET out=j
IF %ecode% EQU 37 SET out=k
IF %ecode% EQU 38 SET out=l
IF %ecode% EQU 39 SET out=m
IF %ecode% EQU 40 SET out=n
IF %ecode% EQU 41 SET out=o
IF %ecode% EQU 42 SET out=p
IF %ecode% EQU 43 SET out=q
IF %ecode% EQU 44 SET out=r
IF %ecode% EQU 45 SET out=s
IF %ecode% EQU 46 SET out=t
IF %ecode% EQU 47 SET out=u
IF %ecode% EQU 48 SET out=v
IF %ecode% EQU 49 SET out=w
IF %ecode% EQU 50 SET out=x
IF %ecode% EQU 51 SET out=y
IF %ecode% EQU 52 SET out=z
IF %ecode% EQU 53 SET out=0
IF %ecode% EQU 54 SET out=1
IF %ecode% EQU 55 SET out=2
IF %ecode% EQU 56 SET out=3
IF %ecode% EQU 57 SET out=4
IF %ecode% EQU 58 SET out=5
IF %ecode% EQU 59 SET out=6
IF %ecode% EQU 60 SET out=7
IF %ecode% EQU 61 SET out=8
IF %ecode% EQU 62 SET out=9
IF %ecode% EQU 63 SET out=!
IF %ecode% EQU 64 SET out=?
IF %ecode% EQU 65 SET out=.
SET code=%code%%out%
SET show=%show%*
goto loop
:submit
cls
SET password=%code%
IF %password% EQU 0cZrocks! SET result=1
IF ELSE SET result=2
IF %result% EQU 1 echo password correct
IF %result% EQU 2 echo password incorrect
timeout /T 2 /NOBREAK >nul
cls
IF %result% EQU 1 goto end
IF ELSE goto start
:end
于 2014-11-01T11:17:14.237 に答える
-3

バッチ ファイルでパスワードをマスクする方法、hide.com ソリューションを使用したもの、テキストと背景を同じ色にするものなど、ネット上の不格好なソリューションをすべて読みました。hide.com ソリューションはまともに機能しますが、あまり安全ではなく、64 ビット Windows では機能しません。とにかく、100% Microsoft ユーティリティを使用する方法があります。

まず、私の使い方を説明します。Windows に自動ログオンする約 20 台のワークステーションがあります。デスクトップには、臨床アプリケーションへのショートカットが 1 つあります。マシンはロックされ、右クリックもできず、デスクトップ上の 1 つのショートカットにアクセスすることしかできません。自動ログ ユーザー アカウントをログオフせずに、技術者がいくつかのデバッグ アプリケーションを起動し、Windows エクスプローラーをブラウズし、ログ ファイルを確認する必要がある場合があります。

だからここに私がしたことがあります。

好きなように実行してください。ただし、ロックダウンされたコンピューターがアクセスできるネットワーク共有に 2 つのバッチ ファイルを置きます。

私のソリューションは、Windows の 1 つの主要コンポーネントである runas を利用しています。作成しようとしている runas.bat へのショートカットをクライアントに配置します。参考までに、私のクライアントでは、見やすくするためにショートカットの名前を変更し、アイコンを変更しました。

2 つのバッチ ファイルを作成する必要があります。

バッチ ファイルにrunas.batDebug Support.batという名前を付けました。

runas.bat には次のコードが含まれています。

cls
@echo off
TITLE CHECK CREDENTIALS 
goto menu

:menu
cls
echo.
echo           ....................................
echo            ~Written by Cajun Wonder 4/1/2010~
echo           ....................................
echo.
@set /p un=What is your domain username? 
if "%un%"=="PUT-YOUR-DOMAIN-USERNAME-HERE" goto debugsupport
if not "%un%"=="PUT-YOUR-DOMAIN-USERNAME-HERE" goto noaccess
echo.
:debugsupport
"%SYSTEMROOT%\system32\runas" /netonly /user:PUT-YOUR-DOMAIN-NAME-HERE\%un% "\\PUT-YOUR-NETWORK-SHARE-PATH-HERE\Debug Support.bat"
@echo ACCESS GRANTED! LAUNCHING THE DEBUG UTILITIES....
@ping -n 4 127.0.0.1 > NUL
goto quit
:noaccess
cls
@echo.
@echo.
@echo.
@echo.
@echo   \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
@echo   \\                                   \\
@echo   \\    Insufficient privileges         \\  
@echo   \\                                    \\
@echo   \\      Call Cajun Wonder             \\
@echo   \\                                    \\
@echo   \\              At                    \\
@echo   \\                                    \\
@echo   \\        555-555-5555                \\
@echo   \\                                    \\
@echo   \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
@ping -n 4 127.0.0.1 > NUL
goto quit
@pause
:quit
@exit

アクセスを許可するすべてのユーザーに対して、「%un %」の場合は何人でも追加でき、「%un%」でない場合は追加できます。@ping は、秒タイマーを作成するための私のやり方です。

これで最初のバッチ ファイルが処理されます。非常に単純ですね。

Debug Support.bat のコードは次のとおりです。

cls
@echo off
TITLE SUPPORT UTILITIES
goto menu

:menu
cls
@echo %username%
echo.
echo           .....................................
echo            ~Written by Cajun Wonder 4/1/2010~
echo           .....................................
echo.
echo What do you want to do? 
echo.
echo [1]  Launch notepad
echo.

:choice
set /P C=[Option]? 
if "%C%"=="1" goto notepad
goto choice

:notepad
echo.
@echo starting notepad....
@ping -n 3 127.0.0.1 > NUL
start notepad
cls
goto menu

私はコーダーではありませんが、約 1 年前にバッチ スクリプトを書き始めたばかりで、バッチ ファイル内のパスワードをマスキングする方法を発見しました。

私以外の誰かがそれを活用できることを願っています!

于 2010-03-31T16:15:35.880 に答える