PDA

Orijinalini görmek için tıklayınız : Yeni LOL Launcher mklink ile çözüm


Kalpsiz_
02-28-2022, 20:15
Aslında çözümü çok basit, ama nedense çoğu kimse yanaşmıyor.

istorage ccdisk farketmez,

Örnek olarak;

diyelimki oyun


J:\Riot Games\League of Legends\

içerisinde,


güncel launcher kurulumuda

J:\Riot Games\Riot Client

dizininde..

siz c:\programdata altındaki Riot Games klasörünü de

C:\ProgramData\Riot Games ====> J:\Riot Games\ProgramData\Riot Games

altına kopyaladınız



appdata /../ local data altındaki Riot Games klasörünü de

C:\Users\Server(kullanıcı adı)\AppData\Local\Riot Games =====> J:\Riot Games\AppData\Riot Games

altına kopyaladınız,



buraya kadar sistem Ekip arkadaşın anlattığı gibi,

fark, Ekip arkadaş bat dosyası ile kopyala yapıştır yapıyor, biz kopyala yapıştır yapmayacağız, işi mklink ile çözeceğiz,


server üzerinde C:\ProgramData\Riot Games(adı değişecek veya silinecek) ====> J:\Riot Games\ProgramData\Riot Games altına kopyaladıktan sonra adını değiştirin veya silin


server üzerinde C:\Users\Server(kullanıcı adı)\AppData\Local\Riot Games(adı değişecek veya silinecek) =====> J:\Riot Games\AppData\Riot Games altına kopyaladıktan sonra adını değiştirin veya silin



şimdi, kopyala yapıştır yapmamak için, sildiğimiz veya adını değiştirdiğimiz klasörlerin sembolik bağlantılarını oluşturup, yeni hedef klasörlere bağlayacağız;




oyun makinasında CMD komut istemini yönetici olarak çalıştırıyoruz;

mklink /d "C:\ProgramData\Riot Games" "J:\Riot Games\ProgramData\Riot Games"


mklink /d "%USERPROFILE%\AppData\Local\Riot Games" "J:\Riot Games\AppData\Riot Games"

sırasıyla bu 2 kodu çalıştırıyoruz.

Şimdi oyun makinasında sembolik bağlantılarımızı oluşturduk, artık oyun güncellendiğinde oradan oraya dosya kopyalamaya gerek kalmadı.

Terminal makinalarıda bu yeni klasörlere bağlamamız gerekiyor. Terminal makinalarda da Yukarıdaki gibi mevcut klasörleri silip, aynı kodlarla sembolik bağlantıları oluşturmak gerekiyor.
Bunu manuel tek tek de yapabilirsiniz, bat dosyası ile de.

Bat dosyamız :

lol_launcher.bat (J:\Riot Games\ altında yani J:\Riot Games\lol_launcher.bat )
//////////////////////////////////////////////////

@ echo off


rmdir /S/Q "C:\ProgramData\Riot Games"
mklink /d "C:\ProgramData\Riot Games" "J:\Riot Games\ProgramData\Riot Games"



rmdir /S/Q "%USERPROFILE%\AppData\Local\Riot Games"
mklink /d "%USERPROFILE%\AppData\Local\Riot Games" "J:\Riot Games\AppData\Riot Games"



cls
ECHO .
EcHO ..
ECHO ...
ECHO ....
ECHO .....
ECHO ......
ECHO .......
ECHO ........
ECHO LOL aciliyor Lutfen BEKLEYINIZ...


start /wait J:\"Riot Games"\"League of Legends"\LeagueClient.exe
exit


/////////////////////////////////////////////////

rmdir /S/Q ile eğer klasör varsa, önce onu silmemiz gerekiyor..

start /wait satırında riot games ve League of Legends tırnak içine aldım çünkü bat dosyasında klasör ve dosya adında boşluk olunca sıkıntı oluyor.

Bat tamam ama Burada bir sorunumuz var, çünkü eğer c:/programdata altında Riot Games klasörü varsa, bunu silmek için yönetici yetkisine sahip olmamız lazım,
yani bat dosyasını yönetici olarak çalıştırmak lazım. Yine tek tek uğraşmak mı gerekecek ?

Bat dosyasını yönetici olarak çalıştırmak için 2. bir dosyaya ihtiyacımız var; .vbs dosyası

ne işe yarar bu .vbs dosyası ? bu dosya ile bat dosyasını yönetici olarak çalıştırmış oluruz. Oyun kısayolu olarak da bu vbs yi göstreceğiz;


lol_launcher.vbs
///////////////////////////////////////////////////

Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "J:\Riot Games\lol_launcher.bat", "", "", "runas", 1


///////////////////////////////////////////////////



Kısayol olarak dediğim gibi bu vbs yi sağ tıklayıp kısayol yapıyoruz, simge değiştiriyoruz, oyunu daha doğrusu oyun için gerekli mklink leri uyugulayıp oyunu çalıştracak olan bat dosyasını
bu vbs ile çalıştırmış oluyoruz.


(/////// leri ayraç gibi kullandım, bat ve vbs dosya içeriğine dahil değiller)


Bu, belirtilen dizine göre kurgulanmış senaryodur, dizin de hata varsa veya yazım hatası varsa belirtirseniz düzeltirim.

Alıntıdır Teşekkürler. Bcan

arinarslan
05-19-2022, 16:40
ben silip yeniden yüklemiştim