windows - Hvordan overfører brugerens input i batchfil?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har følgende script.


echo off

cd C:UsersUser\_NameDesktopEncryptionHemant test 
"C:Program Files (x86)GnuPGingpg.exe" --import PB\_Key.gpg   
"C:Program Files (x86)GnuPGingpg.exe" -e Test.txt 


Men efter det i kommandovinduer spurgte jeg mig brugerinput pr. Følgende
'Indtast bruger-ID'en. Og med en tom linje:'


Som vist på billedet:

image


Jeg skal passere værdien 'Test' og klikke på Enter.


Men jeg er ikke i stand til at videregive 'Test' -værdien i ovenstående Batch script.

Bedste reference


Rediger Jeg har installeret den nyeste GnuPG til Windows (gpg4win 3.1.1) [10]


Hvilken indeholder følgende biblioteksversioner:


c:appsecurityGnuPGingpg.exe --version
gpg (GnuPG) 2.2.7
libgcrypt 1.8.2


Hvad angår dit script, skal det se på den følgende måde


@echo off
cd "C:UsersUser\_NameDesktopEncryptionHemant test"
"C:Program Files (x86)GnuPGingpg.exe" --import PB\_Key.gpg  
set /p user\_id=Please enter your user id:
"C:Program Files (x86)GnuPGingpg.exe" -r "\%user\_id\%" --encrypt Test.txt


Edit2 - viser hele arbejdsgangen (bemærk at jeg har nøglen der allerede, så der er en besked på tjekkisk, der siger, at nøglen er uden ændringer)


Min test.bat


@echo off
c:appsecurityGnuPGingpg.exe --import C:appsecurityGnuPGmygpgkey\_pub.gpg
set /p user\_id=Please enter your user id:
c:appsecurityGnuPGingpg.exe -r "\%user\_id\%" -e VERSION


Nu den faktiske workflow:


C:appsecurityGnuPG>dir *.gpg
 Volume in drive C is OSDisk
 Volume Serial Number is 6C83-746F

 Directory of C:appsecurityGnuPG

17.05.2018  13:55             6 731 mygpgkey\_priv.gpg
17.05.2018  13:55             3 181 mygpgkey\_pub.gpg
               2 File(s)          9 912 bytes
               0 Dir(s)   5 941 710 848 bytes free

C:appsecurityGnuPG>test.bat
gpg: klíč B6E8D7336780XXXX: "John Smith <john.smith@usa.net>" beze změn
gpg: Celkový počet zpracovaných klíčů: 1
gpg:                        beze změn: 1
Please enter your user id:John Smith

C:appsecurityGnuPG>dir *.gpg
 Volume in drive C is OSDisk
 Volume Serial Number is 6C83-746F

 Directory of C:appsecurityGnuPG

17.05.2018  13:55             6 731 mygpgkey\_priv.gpg
17.05.2018  13:55             3 181 mygpgkey\_pub.gpg
17.05.2018  13:57               609 VERSION.gpg
               3 File(s)         10 521 bytes
               0 Dir(s)   5 941 673 984 bytes free

C:appsecurityGnuPG>cat VERSION.gpg
☻♀♥VsP┼ĎžI}☺ ˙w▬ďÍ[Łu   a↓#ŇÜŔ~>Ö▬ľżŕ↔►►=*Q×♥+Ç$NôCČuy→8Ą'      @⌂∟ĘŽ∟'ôż|→↑|Ţ↕ÄĄú4|-b >\%ÄXľ♂Ť  ŮLŤÍ♫∟"˛2ýś+¸ęęHDF`+-BţYu˙:|ŽÝÍ♣\%☺RďGX┼łŠX\%?Łä÷äĘo'Ę|3.Ń<ě°§ó☻ÇKŰ+CăÉĆŚßźE˙Ń?bÔj§ž`<?Ř9c♦§Şś>Éb˛       (ďćžDŹ☻jí6♦§-ßÚŇ~♀"kfďxĺk)˘¨äŰ×▼N÷1 3"}Ä-sžóáe↓x.↓=mĘ?Đ'Á♥{>7c♫SA^I˛uÁi!$Źő/¶ˇ  ÇŃyr☺¬+"F-+ílBn¨xŮ«\%]"ól5‼ ☺Ë'►JT↓►ď6ÍŤjÍ|ßŃ"@m+/ ¤¶ĆvŐĂwł♦$Ăżçy\% O­ÇŁŔóť¤"öbzB0X;♠˙/ăÁbĽH♦\_@♣Ôă☻Ĺ◄Ł♣▲
Ă♀é&/►Ë⌂RĚ 'Yô'­K­ô~Á˝H☻'´pBŚp▬q↓<ÎŃn2Ů *í«[ëťh×űŽ♠oˇ'ĎtČw♠ Sč Pń{vPąŻwĘŰ♣š♂♠↑Öĺ?Űc=¨\%ÉöÜš▬űüR0¶ŕ[qäXOżOb\%ÁóçĹ;áÄ☺ĹńLúŘ?i┼e3Qť┼{T\%Ż<ďĚŇP☺~Çbéx{O☺Ä◄uM× -ۤ[┼^♦ëŐ˙Rđť<2]{^Ö\%E<ÄX4a\_R*?^Ç►ë‼♠Ň2ŐČě?z.M 1ä▲ąěŞuźăŁ↔÷q+Ŕ#á'

C:appsecurityGnuPG>cat VERSION
gnupg
2.2.7

C:appsecurityGnuPG>


Rediger 3 - For at kontrollere, om nøglen er importeret


c:appsecurityGnuPGingpg.exe --list-secret-keys --keyid-format LONG


Du skal få noget som dette:


C:/Users/userID/AppData/Roaming/gnupg/pubring.gpg
---------------------------------------------------
sec   rsa4096/B6E8D7336780XXXX 2018-05-17 [SC]
      ABEC1158A91C80AF5B716DCCB6E8D7336780XXXX
uid             [  absolutní ] John Smith <john.smith@usa.net>
ssb   rsa4096/56735087CF9EXXXX 2018-05-17 [E]


Rediger 4 - ikke-interaktivt batch script:


@echo off
set "user\_id=John Smith"

cd "C:UsersUser\_NameDesktopEncryptionHemant test"
"C:Program Files (x86)GnuPGingpg.exe" --import PB\_Key.gpg  
"C:Program Files (x86)GnuPGingpg.exe" -r "\%user\_id\%" --encrypt Test.txt