Maske bir giriş bat dosyasında metin edebilirim
Başka bir program çalıştırmak için bir toplu iş dosyası yazıyorum. Bu durumda bir şifre sormasını istiyorum. Giriş metni maskelemek için herhangi bir yolu var mı. Baskı yapmak istemiyorum***giriş karakter yerine karakter. Linux Parola istemi davranışı (yazarken Baskı yok) yeterli olacaktır.
@echo off
SET /P variable=Password :
echo %variable%
Pause
Bu giriş ama yapamıyorum maske metni bu yaklaşımı kullanarak okur.
CEVAP
Evet - 4 yıl geç kaldım.
Ama harici bir komut; bir toplu iş dosyasından powershell komutları çağırarak oluşturmak zorunda kalmadan tek satırda bunu yapmak için bir yol buldum.
Anlaşılmaz hattına yakın bir yer son derece uzun,:
@echo off
powershell -Command $pword = read-host "Enter password" -AsSecureString ; $BSTR=[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pword) ; [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR) > .tmp.txt & set /p password=<.tmp.txt & del .tmp.txt
echo %password%
Bu kırarım - birkaç satır üzerinde şapka kullanarak bölebilirsiniz çok daha güzel olan ^
,...
@echo off
powershell -Command $pword = read-host "Enter password" -AsSecureString ; ^
$BSTR=[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pword) ; ^
[System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR) > .tmp.txt
set /p password=<.tmp.txt & del .tmp.txt
echo %password%
This article açıklar ne powershell komutları yapıyor; aslında alır girişini kullanarak Read-Host -AsSecureString
- aşağıdaki iki satır dönüştürmek bu güvenli dize geri içine düz metin çıktısı (düz metin parola) daha sonra gönderilen bir metin dosyası kullanarak >.tmp.txt
. Bu dosya daha sonra bir değişken okuma ve silinir.
Ve teşekkür etmek TessellatingHeckler - çıkış için bir metin dosyası (set powershell komut bir değişken, çünkü çok dağınık uzun bir çizgi içinde bir döngü için), daha iyi bir yöntem.
Bu ikinci yöntemi kullanmanızı tavsiye ederim.
@echo off
set "psCommand=powershell -Command "$pword = read-host 'Enter Password' -AsSecureString ; ^
$BSTR=[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pword); ^
[System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)""
for /f "usebackq delims=" %%p in (`%psCommand%`) do set password=%%p
echo %password%
CSS GİRİŞ DÜĞMESİ değeri saklamak için...
jQuery giriş metin değerini değiştirin...
Nasıl sayfa yük üzerinde form giriş me...
HTML - en İyi eşit genişlikte yapmak i...
Nasıl iPhone gibi HTML metin giriş kut...