Bat yada cmd ile kullanıcı cevabına göre işlem yaptırın


Bat yada cmd ile kullanıcı cevabına göre işlem
Script dillerinden Tercihim vbscript olmasına rağmen seyrekte olsa Bat veya Cmd ile işlem yaptırmak durumunda kalabiliyorum , en seyrek kullandığım ise Powershell , geçenlerde sizlerden gelen bir emailde


; bir bat dosyası hazırlamaya çalışan bir takipçimiz Kullanıcıya bir soru sorup cevabına göre işlem yaptırmak istediğini en basit şekilde bunu nasıl yaptırabileceğini sormuştu. Bu genellikle If (Eğer) döngüsü ile mümkündür. Aslında farklı bir konu içerisinde örnek vermiş olmamıza rağmen kodlarla ilgili açıklama yapmadığımızdan örneği değiştirerek tekrar sunalım. Kullanıcıya Not defterini açmak isteyip istemediğini soracağız ve Evet derse not defterini açtırtacağız , Hayır derse ekranı kapattıracağız.

Kullanıcı cevabına göre bat dosyası ile Program çalıştırın

Aşağıdaki kodlarda Not defteri yerine farklı bir program yolu da kullanılabilir , siz örneği kendinize göre değiştirebilirsiniz.

@echo off
:choice
set /P c=Not defteri acilsinmi [E/H]?
if /I "%c%" EQU "E" goto :Tercih01
if /I "%c%" EQU "H" goto :Tercih02
goto :choice

:Tercih01
start Notepad.exe

:Tercih02
Exit

Kodlar çalıştırıldığında aşağıdaki gibi bir ekran karşınıza gelecektir.

Bat ile kullanıcıya soru

Üstteki kodlarda editleyeceğiniz kısım "Not defteri acilsinmi [E/H]?" ve start Notepad.exe kısımları olacaktır diğer kısımlar aynen kalsın. if /I "%c%" EQU "E" goto :Tercih01 , satırı ile Eğer kullanıcı cevaben klavyesindeki E harfine basarsa Tercih01 e git , Tercih01 de ise , start Notepad.exe komutu ile Not defterini çalıştırtıyoruz. Kullanıcı klavyesindeki H harfine basarsa Bu durumda Exit , yani cmd ekranını kapatıyoruz. Peki kullanıcıya 3 veya fazla seçenek sunmak istersek nasıl yaparız diyenleriniz olacaktır bu durumda aşağıdaki kodlar kullanılabilir.

@ECHO OFF
CLS
ECHO 1. Not defterini Ac
ECHO 2. Hesap makinasini Ac
ECHO 3. Ekrani Kapat
ECHO.

set /p op= tercihiniz:
if %op%==1 goto Not defterini Ac
if %op%==2 goto Hesap makinasini Ac
if %op%==3 goto Ekrani Kapat
goto :choice

:Not defterini Ac
cls
start Notepad.exe
GOTO End

:Hesap makinasini Ac
start calc.exe
GOTO End

:Ekrani Kapat
Exit

:End

Üstteki kodları içeren bat dosyası çalıştırıldığında ekrana aşağıdaki gibi bir seçim penceresi gelecektir.

Bat kullanıcı seçim ekranı

Kullanıcı mesela klavyesindeki 2 ye basarsa hesap makinası açılacaktır . Bazı işlemlerin gerçekleştirilebilmesi için Komut isteminin yönetici yetkilerinde çalıştırılması gereklidir. Cmd nin Yönetici yetkileri ile çalıştırılıp çalıştırılmadığını kontrol etmek için aşağıdaki kodları kullanabilirsiniz.

@ECHO OFF
call :IsAdmin
... (Bu kısma bat kodları gelecek)
:IsAdmin
Reg.exe query "HKU\S-1-5-19\Environment"
If Not %ERRORLEVEL% EQU 0 (
 Cls & Echo You must have administrator rights to continue ...
 Pause & Exit
)
Cls
goto:eof

Bu kısma bat kodları gelecek kısmına Komut istemi ile yaptırmak istediğiniz işlem kodlarını ekleyebilirsiniz. Mesela , Windowsta yeni bir kullanıcı oluşturacaksanız bu durumda aşağıdaki kodlar işinize yarayacaktır gel gelelim işlemin sağlıklı şekilde tamamlanabilmesi için komut isteminin yönetici yetkilerinde çalıştırılmış olması gerekir bunun kontrolünü de üstteki kodlarla sağlayabilirsiniz.

@echo off
set /p UserInputPath1= Lutfen bir kullanıcı ismi giriniz: & 
set /p UserInputPath2= Lutfen bir Şifre belirleyiniz: & 
net user %UserInputPath1% %UserInputPath2% /add

Üstteki kodları içeren scriptleri sayfa sonundaki linkten edinebilirsiniz. mesela inen dosya içerisindeki bat_ile_soru4.bat dosyası çalıştırıldığında aşağıdaki ekran gelecektir.

Bat dosyası ile yeni kullanıcı oluştur

İlk ekran ile Komut isteminin Yönetici yetkileri ile çalıştırılıp çalıştırılmadığını kontrol ettik ardından kullanıcıya seçim ekranı gösterdik ve Son ekranda onun seçimine göre işlem yaptırdık.

- bat ile soru sormak Burada

- bir .bat dosyasını admin yetkilerinde çalıştıralım Burada


10 Yorum Var
  1. Avatar for Hüseyin
  2. Avatar for esatiz
  3. Avatar for Velociraptor
  4. Avatar for Hüseyin
  5. Avatar for esatiz
  6. Avatar for Salih
  7. Avatar for Velociraptor
  8. Avatar for Ada
  9. Avatar for oVo
  10. Avatar for Mertcan

Yorum Ekle

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Captcha