Çözüldü Açılan CMD ekranına istenilen kodları girecek bir BAT dosyası nasıl oluşturulabilir?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Yusuf.iso

Kilopat
Katılım
5 Aralık 2018
Mesajlar
201
Çözümler
1
Yer
Bursa/Yıldırım
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar bir oyun için mod indirdim. Mod EXE uzantılı ve çalıştırdığımda CMD ekranı açıyor. Açılan ekrana her seferinde oyunun yüklü olduğu konumu girmem sonrasında ise "r" yazarak oyunu başlatmam gerekiyor.
Bu işlemi otomatik hale getirmek için bir BAT dosyası hazırlamak istiyorum. Copilot (yapay zeka)'ya yaptırmak istedim. Modu açabiliyor fakat içerisine istediğim kodu/yazıyı yazamıyor.

Kod şu şekilde :
@Echo off
cd "modun olduğu yol"

:: Modu başlat
start "" /wait "mod.exe"

:: Bekleme süresi (modun penceresinin tam olarak açılması için)
timeout /t 2 >nul

:: CMD'ye komutları sırayla yazdır
(
echo oyun yolu
echo R
) >CON


pause
 
Çözüm
Onun için şu şekilde bir komut verdi :


@Echo off
cd "C:\Users\YUSUF\Desktop\ACOdyssey Tweak"

:: Modu başlat
start "" /wait "ACOdyssey Tweak Pack V1.0.2.2 (V1.5.6).exe"

:: Modun CMD penceresinin tamamen açılması için bekleme
timeout /t 5 >nul

:: PowerShell ile aktif pencereye odaklanma ve komut gönderme
powershell -Command "$wshell = New-Object -ComObject wscript.shell; $wshell.AppActivate('modun cmd penceresinin adı'); Start-Sleep -Seconds 1; $wshell.SendKeys(oyun yolu{ENTER}'); Start-Sleep -Seconds 1; $wshell.SendKeys('R{ENTER}')"

pause


Bunu da bat olarak denedim ama dediğin VBS olayına bakacağım birazdan.

@MidI0ck Hocam vbs ile bu yöntemi hazırla dediğimde verdiği kodu denedim ve çalıştı. Sanırım hangi yöntemin en iyisi veya sorunsuzu olduğuna yapay zeka iyi karar veremiyor. Çünkü direkt bana bat dosyası oluşturmamı önerdi. Modun exe dosyasını açtığımda cmd ekranın geldiğini söyledim fakat bu cmd'nin moda ait olduğunu anlayamadı. Sonraki aşamada daha detaylı yazdığımda anlayabildi. Yapay zeka baya kullanışlı fakat ona söylenecek promptlar çok önemli. Şuan aynı sorunu bir Ren'py tabanlı oyun içindeki 2048 mini oyun kısmında yaşıyorum. Bu Ren'py ile yapılan oyun başkasına ait. Ben sadece mini oyunu geçebilmesi için yapay zeka yazmasını istedim. Belirttiği libraryleri yükledim ve kodu yazdırdım. TesseractOCR yükledim ve yazdırdığı koda eklettim. Ekran görüntüsü alıyor fakat sayıları tanımlayamıyor ve klavye hareketini Ren'py oyunu içerisine aktaramıyor. Yakın zamanda biraz daha onun üzerinde uğraşacağım. Bu da bana biraz tecrübe kattı. Teşekkür ederim.

Cevap için teşekkürler. Ben olayı yapay zekaya vbs script dosyası olarak yaptırınca çözdüm. Fakat sizin kod [ | "Mod.exe" ] şeklinde belirtmiş. Normalde orada eğer ayrı bir cmd açtırarak yapsakdık "| cmd" (yapay zeka en azından öyle belirtti) olacaktı. Sonrasında bana sonuna "| cmd" yerine ">CON" önermişti ve bu da çözüm olmamıştı. Sizin yaptığınız da mantıklı geldi. Şimdi deneyeceğim.
Echo sadece print fonksiyonu. Batch olarak çalıştırmaz. Daha fazla detay verirsen yardımcı olmaya çalışırım.

Senin yazdığın komutlar senin sessionunda calisiyor. Modun sessionu bağımsız, bu yüzden yazdıkların işlev görmüyor.

Paralelde bir VBS Script yazıp otomasyonu yapan CMD sessionunda bunu çağırarak sendkey fonksiyonunu çağıracaksın. Timeouttan sonra.
 
Son düzenleyen: Moderatör:
Onun için şu şekilde bir komut verdi :


@Echo off
cd "C:\Users\YUSUF\Desktop\ACOdyssey Tweak"

:: Modu başlat
start "" /wait "ACOdyssey Tweak Pack V1.0.2.2 (V1.5.6).exe"

:: Modun CMD penceresinin tamamen açılması için bekleme
timeout /t 5 >nul

:: PowerShell ile aktif pencereye odaklanma ve komut gönderme
powershell -Command "$wshell = New-Object -ComObject wscript.shell; $wshell.AppActivate('modun cmd penceresinin adı'); Start-Sleep -Seconds 1; $wshell.SendKeys(oyun yolu{ENTER}'); Start-Sleep -Seconds 1; $wshell.SendKeys('R{ENTER}')"

pause


Bunu da bat olarak denedim ama dediğin VBS olayına bakacağım birazdan.

@MidI0ck Hocam vbs ile bu yöntemi hazırla dediğimde verdiği kodu denedim ve çalıştı. Sanırım hangi yöntemin en iyisi veya sorunsuzu olduğuna yapay zeka iyi karar veremiyor. Çünkü direkt bana bat dosyası oluşturmamı önerdi. Modun exe dosyasını açtığımda cmd ekranın geldiğini söyledim fakat bu cmd'nin moda ait olduğunu anlayamadı. Sonraki aşamada daha detaylı yazdığımda anlayabildi. Yapay zeka baya kullanışlı fakat ona söylenecek promptlar çok önemli. Şuan aynı sorunu bir Ren'py tabanlı oyun içindeki 2048 mini oyun kısmında yaşıyorum. Bu Ren'py ile yapılan oyun başkasına ait. Ben sadece mini oyunu geçebilmesi için yapay zeka yazmasını istedim. Belirttiği libraryleri yükledim ve kodu yazdırdım. TesseractOCR yükledim ve yazdırdığı koda eklettim. Ekran görüntüsü alıyor fakat sayıları tanımlayamıyor ve klavye hareketini Ren'py oyunu içerisine aktaramıyor. Yakın zamanda biraz daha onun üzerinde uğraşacağım. Bu da bana biraz tecrübe kattı. Teşekkür ederim.

Cevap için teşekkürler. Ben olayı yapay zekaya vbs script dosyası olarak yaptırınca çözdüm. Fakat sizin kod [ | "Mod.exe" ] şeklinde belirtmiş. Normalde orada eğer ayrı bir cmd açtırarak yapsakdık "| cmd" (yapay zeka en azından öyle belirtti) olacaktı. Sonrasında bana sonuna "| cmd" yerine ">CON" önermişti ve bu da çözüm olmamıştı. Sizin yaptığınız da mantıklı geldi. Şimdi deneyeceğim.
 
Son düzenleme:
Çözüm
@Yusuf.iso
Yapay zeka şöyle bir bat dosyası oluşturdu.
Kod:
@echo off
echo [Bilgi] Mod başlatılıyor...
(
echo C:\Programlar\BenimProgramim\program.exe
timeout /t 1 > nul
echo r
) | "Mod.exe"
pause

@Yusuf.iso
Aynı soruyu biraz farklı ifadelerle daha netleştirmeye çalışarak tekrar sordum.
Cevap değişmedi ve %100 çalışır dedi. Yalansa benim değil.
Aynı kod ama tekrar yapıştırıyorum.
Kod:
@echo off
echo Oyun klasörü ve baslatma komutu gönderiliyor...
(
echo C:\Oyunlar\BenimOyun\oyun.exe
timeout /t 1 > nul
echo r
) | "Mod.exe"
pause
 
Son düzenleme:
Sizin yöntem ile denediğimde de diğer bat dosyalarıyla aynı sonucu veriyor. Size önerilen | "Mod.exe" satırının bir sonuç vereceğini düşündüm fakat olmadı. VBS Script ile sorunu halledebildim.
 
@Yusuf.iso
Bir de %100 çalışır diyor.
Dönüş yaptığınız için cidden teşekkürler... Bunlar bize lazım. En azından yapay zekaya ne kadar güvenebileceğimizi öğreniyoruz.
 
Son düzenleyen: Moderatör:
Sizin için basit bir uygulama yazdım. İndirip bir klasöre koyun. Uzantısını .txt'den .exe olarak çevirin. Sonra Win + R -> Notepad ->
Kod:
[Settings]
ExecutablePath="Mod.exe"
Code=Mod.exe R
WaitForOpen=2000
Burda ExecutablePath yerine mod'un yolunu girin. Code kısmına da uygulama açıldıktan sonra girilecek kodu yazın örneğin "Mod.exe R" sonra enter'e basacak. WaitForOpen değeri ise uygulamanın açılmasını kaç saniye bekleyeceği ile ilgili. Eğer mod.exe 1 saniye içinde açılıyorsa, burdaki değeri 2 saniye yapmanız sağlıklı olur. Yani uzun lafın kısası:
Bu uygulama sizin mod.exe'yi açacak sonra gerekli kodu tuşlayıp, enter'e basıp başarılı uyarısı vericek.

@Yusuf.iso İşe yaradı mı?
 

Dosya Ekleri

  • ModExeAcici.txt
    6 KB · Görüntüleme: 14
Son düzenleme:
Sizin attığınızı denemedim çünkü sorunu zaten çözmüştüm. Bu konu altındaki yorumlarda da belirmiştim. Emeğiniz için teşekkürler.

Not: Başka forumlarda konu çözüldüğünde üç noktaya tıklayıp "çözüldü" etiketini kendi koyuyordu. Fakat ben pek forumlarda takılmıyorum bu yüzden yukardaki "etiket yok" kısmını sonradan fark ettim. Şimdi çözüldü etiketini ekledim.
 
Anladım. Rica ederim. İyi günler
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…