diff --git a/.github/EN-SS/0.png b/.github/EN-SS/0.png new file mode 100644 index 0000000..d57cab0 Binary files /dev/null and b/.github/EN-SS/0.png differ diff --git a/.github/EN-SS/1.1.png b/.github/EN-SS/1.1.png new file mode 100644 index 0000000..eb6e8d3 Binary files /dev/null and b/.github/EN-SS/1.1.png differ diff --git a/.github/EN-SS/1.2.png b/.github/EN-SS/1.2.png new file mode 100644 index 0000000..81a77a5 Binary files /dev/null and b/.github/EN-SS/1.2.png differ diff --git a/.github/EN-SS/10.1.png b/.github/EN-SS/10.1.png new file mode 100644 index 0000000..f439530 Binary files /dev/null and b/.github/EN-SS/10.1.png differ diff --git a/.github/EN-SS/10.2.png b/.github/EN-SS/10.2.png new file mode 100644 index 0000000..a296769 Binary files /dev/null and b/.github/EN-SS/10.2.png differ diff --git a/.github/EN-SS/10.3.png b/.github/EN-SS/10.3.png new file mode 100644 index 0000000..12eaddb Binary files /dev/null and b/.github/EN-SS/10.3.png differ diff --git a/.github/EN-SS/11.1.png b/.github/EN-SS/11.1.png new file mode 100644 index 0000000..df6d0dd Binary files /dev/null and b/.github/EN-SS/11.1.png differ diff --git a/.github/EN-SS/11.2.png b/.github/EN-SS/11.2.png new file mode 100644 index 0000000..b954310 Binary files /dev/null and b/.github/EN-SS/11.2.png differ diff --git a/.github/EN-SS/13.png b/.github/EN-SS/13.png new file mode 100644 index 0000000..2e8e504 Binary files /dev/null and b/.github/EN-SS/13.png differ diff --git a/.github/EN-SS/2.1.png b/.github/EN-SS/2.1.png new file mode 100644 index 0000000..1f14c12 Binary files /dev/null and b/.github/EN-SS/2.1.png differ diff --git a/.github/EN-SS/2.2.png b/.github/EN-SS/2.2.png new file mode 100644 index 0000000..ec35912 Binary files /dev/null and b/.github/EN-SS/2.2.png differ diff --git a/.github/EN-SS/2.3.png b/.github/EN-SS/2.3.png new file mode 100644 index 0000000..0b0c349 Binary files /dev/null and b/.github/EN-SS/2.3.png differ diff --git a/.github/EN-SS/3.1.png b/.github/EN-SS/3.1.png new file mode 100644 index 0000000..ffd05d0 Binary files /dev/null and b/.github/EN-SS/3.1.png differ diff --git a/.github/EN-SS/3.2.png b/.github/EN-SS/3.2.png new file mode 100644 index 0000000..dd19ce7 Binary files /dev/null and b/.github/EN-SS/3.2.png differ diff --git a/.github/EN-SS/3.3.png b/.github/EN-SS/3.3.png new file mode 100644 index 0000000..bf2323d Binary files /dev/null and b/.github/EN-SS/3.3.png differ diff --git a/.github/EN-SS/4.1.png b/.github/EN-SS/4.1.png new file mode 100644 index 0000000..2c7400f Binary files /dev/null and b/.github/EN-SS/4.1.png differ diff --git a/.github/EN-SS/4.2.png b/.github/EN-SS/4.2.png new file mode 100644 index 0000000..51e2294 Binary files /dev/null and b/.github/EN-SS/4.2.png differ diff --git a/.github/EN-SS/4.3.png b/.github/EN-SS/4.3.png new file mode 100644 index 0000000..188d996 Binary files /dev/null and b/.github/EN-SS/4.3.png differ diff --git a/.github/EN-SS/4.4.png b/.github/EN-SS/4.4.png new file mode 100644 index 0000000..159db04 Binary files /dev/null and b/.github/EN-SS/4.4.png differ diff --git a/.github/EN-SS/4.5.png b/.github/EN-SS/4.5.png new file mode 100644 index 0000000..273c92b Binary files /dev/null and b/.github/EN-SS/4.5.png differ diff --git a/.github/EN-SS/5.1.png b/.github/EN-SS/5.1.png new file mode 100644 index 0000000..90ebd6c Binary files /dev/null and b/.github/EN-SS/5.1.png differ diff --git a/.github/EN-SS/5.2.png b/.github/EN-SS/5.2.png new file mode 100644 index 0000000..df08e0e Binary files /dev/null and b/.github/EN-SS/5.2.png differ diff --git a/.github/EN-SS/5.3.png b/.github/EN-SS/5.3.png new file mode 100644 index 0000000..e67cc7b Binary files /dev/null and b/.github/EN-SS/5.3.png differ diff --git a/.github/EN-SS/6.1.png b/.github/EN-SS/6.1.png new file mode 100644 index 0000000..e5dbd95 Binary files /dev/null and b/.github/EN-SS/6.1.png differ diff --git a/.github/EN-SS/6.2.png b/.github/EN-SS/6.2.png new file mode 100644 index 0000000..1cd2930 Binary files /dev/null and b/.github/EN-SS/6.2.png differ diff --git a/.github/EN-SS/6.3.png b/.github/EN-SS/6.3.png new file mode 100644 index 0000000..beded05 Binary files /dev/null and b/.github/EN-SS/6.3.png differ diff --git a/.github/EN-SS/6.4.png b/.github/EN-SS/6.4.png new file mode 100644 index 0000000..c28d3e4 Binary files /dev/null and b/.github/EN-SS/6.4.png differ diff --git a/.github/EasyDism.zip b/.github/EasyDism.zip new file mode 100644 index 0000000..f0795be Binary files /dev/null and b/.github/EasyDism.zip differ diff --git a/.github/EasyDismSetup.cmd b/.github/EasyDismSetup.cmd new file mode 100644 index 0000000..23c3f3c --- /dev/null +++ b/.github/EasyDismSetup.cmd @@ -0,0 +1,75 @@ +echo off +chcp 65001 > NUL +setlocal enabledelayedexpansion +title EasyDism Setup │ OgnitorenKs +mode con cols=80 lines=30 +for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (set R=%%b) +cd /d "%~dp0" +for /f %%a in ('"cd"') do set Konum=%%a + +:: ------------------------------------------------------------- +RD /S /Q "C:\EasyDism" > NUL 2>&1 +MD "C:\EasyDism" > NUL 2>&1 + +:: ============================================================= +:: Güncelleme dosyası indirilir +cls&Call :Panel "[■■■■■■■■■■■■ ]" "%R%[92m Installing EasyDism... %R%[0m" +Call :Powershell "& { iwr https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EasyDism.zip -OutFile %temp%\EasyDism.zip }" + +:: İndirilen güncelleme zip dosyası klasörü çıkarılır. +cls&Call :Panel "[■■■■■■■■■■■■■■■■■■■■■■■■ ]" "%R%[92m Installing EasyDism... %R%[0m" +Call :Powershell "Expand-Archive -Force '%temp%\EasyDism.zip' 'C:\EasyDism'" + +:: Güncelleme zip dosyası silinir. +cls&Call :Panel "[■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ]" "%R%[92m Installing EasyDism... %R%[0m" +DEL /F /Q /A "%temp%\EasyDism.zip" > NUL 2>&1 + +( +echo Set oWS = WScript.CreateObject^("WScript.Shell"^) +echo sLinkFile = "C:\Users\%username%\Desktop\EasyDism.lnk" +echo Set oLink = oWS.CreateShortcut^(sLinkFile^) +echo oLink.TargetPath = "C:\EasyDism\EasyDism.cmd" +echo oLink.WorkingDirectory = "C:\EasyDism" +echo oLink.Description = "EasyDism" +echo oLink.IconLocation = "C:\EasyDism\Bin\Icon\Ogni.ico" +echo oLink.Save +) > %Temp%\OgnitorenKs.Shortcut.vbs +cscript "%Temp%\OgnitorenKs.Shortcut.vbs" > NUL 2>&1 +DEL /F /Q /A "%Temp%\OgnitorenKs.Shortcut.vbs" > NUL 2>&1 + +:: Settings.ini içine güncelleme tarihi yazılır. +cls&Call :Panel "[■■■■■■■■■■■■■■■■■■■■COMPLETE■■■■■■■■■■■■■■■■■■■■]" "%R%[92m Installing EasyDism... %R%[0m" +:: Güncel Toolbox açılır. +Call :Powershell "Start-Process 'C:\EasyDism\EasyDism.cmd' -Verb Runas" +exit +:: ============================================================= +:: ██████████████████████████████████████████████████████████████████████████████████████████████████ +:: ██████████████████████████████████████████████████████████████████████████████████████████████████ +:: ██████████████████████████████████████████████████████████████████████████████████████████████████ +:Panel +echo. +echo. +echo. +echo. +echo. +echo. +echo. +echo %~2 +echo. +echo %~1 +echo. +echo %R%[33m████ ████ █ █ █ █████ ████ ████ ███ █ █ █ █ ████%R%[0m +echo %R%[33m█ █ █ ██ █ █ █ █ █ █ █ █ ██ █ █ █ █ %R%[0m +echo %R%[33m█ █ █ ██ █ █ █ █ █ █ █ ████ ██ █ █ █ ██ ████%R%[0m +echo %R%[33m█ █ █ █ █ ██ █ █ █ █ █ █ █ █ ██ █ █ █%R%[0m +echo %R%[33m████ ████ █ █ █ █ ████ █ █ ███ █ █ █ █ ████%R%[0m +goto :eof + +:: ------------------------------------------------------------- +:Powershell +chcp 437 > NUL 2>&1 +Powershell -command %* +chcp 65001 > NUL 2>&1 +goto :eof + + diff --git a/.github/Repo-SS/Title.png b/.github/Repo-SS/Title.png new file mode 100644 index 0000000..cf53b77 Binary files /dev/null and b/.github/Repo-SS/Title.png differ diff --git a/.github/TR-SS/0.png b/.github/TR-SS/0.png new file mode 100644 index 0000000..4a42b85 Binary files /dev/null and b/.github/TR-SS/0.png differ diff --git a/.github/TR-SS/1.1.png b/.github/TR-SS/1.1.png new file mode 100644 index 0000000..edb16db Binary files /dev/null and b/.github/TR-SS/1.1.png differ diff --git a/.github/TR-SS/1.2.png b/.github/TR-SS/1.2.png new file mode 100644 index 0000000..27d6701 Binary files /dev/null and b/.github/TR-SS/1.2.png differ diff --git a/.github/TR-SS/10.1.png b/.github/TR-SS/10.1.png new file mode 100644 index 0000000..9a1142e Binary files /dev/null and b/.github/TR-SS/10.1.png differ diff --git a/.github/TR-SS/10.2.png b/.github/TR-SS/10.2.png new file mode 100644 index 0000000..14dce4f Binary files /dev/null and b/.github/TR-SS/10.2.png differ diff --git a/.github/TR-SS/10.3.png b/.github/TR-SS/10.3.png new file mode 100644 index 0000000..0d67004 Binary files /dev/null and b/.github/TR-SS/10.3.png differ diff --git a/.github/TR-SS/11.1.png b/.github/TR-SS/11.1.png new file mode 100644 index 0000000..36565c3 Binary files /dev/null and b/.github/TR-SS/11.1.png differ diff --git a/.github/TR-SS/11.2.png b/.github/TR-SS/11.2.png new file mode 100644 index 0000000..e45fd21 Binary files /dev/null and b/.github/TR-SS/11.2.png differ diff --git a/.github/TR-SS/13.png b/.github/TR-SS/13.png new file mode 100644 index 0000000..d9592b0 Binary files /dev/null and b/.github/TR-SS/13.png differ diff --git a/.github/TR-SS/2.1.png b/.github/TR-SS/2.1.png new file mode 100644 index 0000000..8873da4 Binary files /dev/null and b/.github/TR-SS/2.1.png differ diff --git a/.github/TR-SS/2.2.png b/.github/TR-SS/2.2.png new file mode 100644 index 0000000..eb5e97a Binary files /dev/null and b/.github/TR-SS/2.2.png differ diff --git a/.github/TR-SS/2.3.png b/.github/TR-SS/2.3.png new file mode 100644 index 0000000..5d70c4c Binary files /dev/null and b/.github/TR-SS/2.3.png differ diff --git a/.github/TR-SS/3.1.png b/.github/TR-SS/3.1.png new file mode 100644 index 0000000..e299216 Binary files /dev/null and b/.github/TR-SS/3.1.png differ diff --git a/.github/TR-SS/3.2.png b/.github/TR-SS/3.2.png new file mode 100644 index 0000000..20e8f72 Binary files /dev/null and b/.github/TR-SS/3.2.png differ diff --git a/.github/TR-SS/3.3.png b/.github/TR-SS/3.3.png new file mode 100644 index 0000000..5448ed7 Binary files /dev/null and b/.github/TR-SS/3.3.png differ diff --git a/.github/TR-SS/4.1.png b/.github/TR-SS/4.1.png new file mode 100644 index 0000000..056026f Binary files /dev/null and b/.github/TR-SS/4.1.png differ diff --git a/.github/TR-SS/4.2.png b/.github/TR-SS/4.2.png new file mode 100644 index 0000000..02ef90f Binary files /dev/null and b/.github/TR-SS/4.2.png differ diff --git a/.github/TR-SS/4.3.png b/.github/TR-SS/4.3.png new file mode 100644 index 0000000..20c93f4 Binary files /dev/null and b/.github/TR-SS/4.3.png differ diff --git a/.github/TR-SS/4.4.png b/.github/TR-SS/4.4.png new file mode 100644 index 0000000..4810e25 Binary files /dev/null and b/.github/TR-SS/4.4.png differ diff --git a/.github/TR-SS/4.5.png b/.github/TR-SS/4.5.png new file mode 100644 index 0000000..e6845a5 Binary files /dev/null and b/.github/TR-SS/4.5.png differ diff --git a/.github/TR-SS/5.1.png b/.github/TR-SS/5.1.png new file mode 100644 index 0000000..e90d19b Binary files /dev/null and b/.github/TR-SS/5.1.png differ diff --git a/.github/TR-SS/5.2.png b/.github/TR-SS/5.2.png new file mode 100644 index 0000000..a35634c Binary files /dev/null and b/.github/TR-SS/5.2.png differ diff --git a/.github/TR-SS/5.3.png b/.github/TR-SS/5.3.png new file mode 100644 index 0000000..a0aad45 Binary files /dev/null and b/.github/TR-SS/5.3.png differ diff --git a/.github/TR-SS/6.1.png b/.github/TR-SS/6.1.png new file mode 100644 index 0000000..68f6d80 Binary files /dev/null and b/.github/TR-SS/6.1.png differ diff --git a/.github/TR-SS/6.2.png b/.github/TR-SS/6.2.png new file mode 100644 index 0000000..0f64e2d Binary files /dev/null and b/.github/TR-SS/6.2.png differ diff --git a/.github/TR-SS/6.3.png b/.github/TR-SS/6.3.png new file mode 100644 index 0000000..22bf831 Binary files /dev/null and b/.github/TR-SS/6.3.png differ diff --git a/.github/TR-SS/6.4.png b/.github/TR-SS/6.4.png new file mode 100644 index 0000000..af9276c Binary files /dev/null and b/.github/TR-SS/6.4.png differ diff --git a/Bin/Icon/Ogni.ico b/Bin/Icon/Ogni.ico new file mode 100644 index 0000000..e3b07a1 Binary files /dev/null and b/Bin/Icon/Ogni.ico differ diff --git a/Bin/Language/English.cmd b/Bin/Language/English.cmd new file mode 100644 index 0000000..03d7d72 --- /dev/null +++ b/Bin/Language/English.cmd @@ -0,0 +1,69 @@ +exit +Prepared_By_>OgnitorenKs>Preparing the language file> +::███████████████████████████████████████████████████████████████████ +:: Menü bölümü +Menu_1_>WIM │ ESD Reader> +Menu_2_>WIM ► ESD Convert> +Menu_3_>ESD ► WIM Convert> +Menu_4_>Extract index> +Menu_5_>Prepare All-in-one Windows [AIO]> +Menu_6_>Mount Image> +Menu_7_>Install driver> +Menu_8_>Load regedit> +Menu_9_>Install update> +Menu_10_>UnMount Image> +Menu_11_>Prepare ISO> +Menu_12_>Mount define path> +Menu_13_>EasyDism change language> +::███████████████████████████████████████████████████████████████████ +D0001>Process> +D0002>Multiprocess> +D0003>Folder or File path> +D0004>to continue the process by deleting the file> +D0005>to continue the process by overwriting> +D0006>Replace the processed install.wim/esd file with the original?> +D0007>Image folder path> +D0008>Label name> +D0009>ISO name> +D0010>Overwrite the current file?> +::███████████████████████████████████████████████████████████████████ +Y0001>Builder closes...> +Y0002>Press any key for menu> +Y0003>converting> +Y0004>WARNING: Existing install file will be deleted...> +Y0005>Moving install file to image...> +Y0006>extracting> +Y0007>Main Version> +Y0008>Version to Add> +Y0009>adding> +Y0010>Merge operation completed> +Y0011>Press any key for menu> +Y0012>Installing drivers> +Y0013>Installed Mount directories> +Y0014>No installed mount directory found> +Y0015>Main menu> +Y0016>About Mount> +Y0017>loading> +Y0018>Collecting mount folder / Preparing image> +Y0019>Dism command gives an error, so collection is done via Powershell> +Y0020>Menu> +Y0021>Installing updates> +Y0022>ISO file is being prepared. At the end of the process, the registration folder will be opened> +Y0023>Checking loaded images. You are transferred to the menu.> +Y0024>optimizing install.wim> +Y0025>In eject position>file available> +Y0026>Loading regedit records> +::███████████████████████████████████████████████████████████████████ +Error_0_>Warning> +Error_1_>ERROR! Turkish character detected in folder/file path> +Error_2_>ERROR! Space detected in folder/file path> +Error_3_>ERROR! Builder only works on x64 systems> +Error_4_>ERROR! You cannot operate with install.esd> +Error_5_>ERROR! You cannot operate with the boot.wim file> +Error_6_>ERROR! You cannot operate with the ISO file. Unzip and try again> +Error_7_>ERROR! install.wim/esd not found> +Error_8_>ERROR! boot.wim not found> +Error_9_>ERROR! Mount folder full> +Error_10_>ERROR! Mount road is faulty> +Error_11_>ERROR! You cannot work with the install.wim file> +::███████████████████████████████████████████████████████████████████ \ No newline at end of file diff --git a/Bin/Language/Turkish.cmd b/Bin/Language/Turkish.cmd new file mode 100644 index 0000000..5b7215d --- /dev/null +++ b/Bin/Language/Turkish.cmd @@ -0,0 +1,69 @@ +exit +Prepared_By_>OgnitorenKs>Dil dosyasını hazırlayan> +::███████████████████████████████████████████████████████████████████ +:: Menü bölümü +Menu_1_>WIM │ ESD Okuyucu> +Menu_2_>WIM ► ESD dönüştür> +Menu_3_>ESD ► WIM dönüştür> +Menu_4_>İndex çıkart> +Menu_5_>Hepsi bir arada Windows Hazırla [AIO]> +Menu_6_>İmaj yükle [Mount]> +Menu_7_>Sürücü yükle> +Menu_8_>Regedit kayıtlarını yükle> +Menu_9_>Güncelleme yükle> +Menu_10_>İmaj topla [UnMount]> +Menu_11_>ISO hazırla> +Menu_12_>Mount yol tanımla> +Menu_13_>EasyDism dil değiştirme> +::███████████████████████████████████████████████████████████████████ +D0001>İşlem> +D0002>Çoklu İşlem> +D0003>Klasör veya Dosya yolu> +D0004>dosyasını silerek işleme devam etmek için> +D0005>üzerine yazarak işleme devam etmek için> +D0006>İşlenen install.wim/esd dosyası orjinali ile değiştirilsin mi?> +D0007>İmaj klasör yolu> +D0008>Etiket adı> +D0009>ISO adı> +D0010>Mevcut dosyanın üzerine yazılsın mı?> +::███████████████████████████████████████████████████████████████████ +Y0001>Builder kapanıyor...> +Y0002>Menü için herhangi bir tuşa basınız> +Y0003>dönüştürülüyor> +Y0004>UYARI: Mevcut install dosyası silinecektir...> +Y0005>Install dosyası imaja taşınıyor...> +Y0006>çıkarılıyor> +Y0007>Ana Sürüm> +Y0008>Eklenecek Sürüm> +Y0009>ekleniyor> +Y0010>Birleştirme işlemi tamamlandı> +Y0011>Menü için herhangi bir tuşa basınız> +Y0012>Sürücüler yükleniyor> +Y0013>Yüklü Mount dizinleri> +Y0014>Yüklü mount dizini bulunamadı> +Y0015>Ana menü> +Y0016>Mount Hakkında> +Y0017>yükleniyor> +Y0018>Mount klasörü toplanıyor / İmaj hazırlanıyor> +Y0019>Dism komutu hata verdiği için Powershell üzerinden toplama işlemi yapılıyor> +Y0020>Menü> +Y0021>Güncelleştirmeler yükleniyor> +Y0022>ISO dosyası hazırlanıyor. İşlem sonunda kayıt klasörü açılacak> +Y0023>Yüklü imajlar kontrol ediliyor. Menüye aktarılıyorsunuz.> +Y0024>install.wim optimize ediliyor> +Y0025>Çıkarma konumunda>dosyası mevcut> +Y0026>Regedit kayıtları yükleniyor> +::███████████████████████████████████████████████████████████████████ +Error_0_>UYARI> +Error_1_>HATA! Klasör/Dosya yolunda Türkçe karakter tespit edildi> +Error_2_>HATA! Klasör/Dosya yolunda boşluk tespit edildi> +Error_3_>HATA! Builder yalnızca x64 sistemlerde çalışır> +Error_4_>HATA! install.esd dosyasıyla işlem yapamazsınız> +Error_5_>HATA! boot.wim dosyasıyla işlem yapamazsınız> +Error_6_>HATA! ISO dosyasıyla işlem yapamazsınız. Klasöre çıkarıp yeniden deneyiniz> +Error_7_>HATA! install.wim/esd bulunamadı> +Error_8_>HATA! boot.wim bulunamadı> +Error_9_>HATA! Mount klasörü dolu> +Error_10_>HATA! Mount yolu hatalı> +Error_11_>HATA! install.wim dosyasıyla işlem yapamazsınız> +::███████████████████████████████████████████████████████████████████ \ No newline at end of file diff --git a/Bin/NSudo.exe b/Bin/NSudo.exe new file mode 100644 index 0000000..e05864d Binary files /dev/null and b/Bin/NSudo.exe differ diff --git a/Bin/oscdimg.exe b/Bin/oscdimg.exe new file mode 100644 index 0000000..e25ff03 Binary files /dev/null and b/Bin/oscdimg.exe differ diff --git a/EasyDism.cmd b/EasyDism.cmd new file mode 100644 index 0000000..3095dfd --- /dev/null +++ b/EasyDism.cmd @@ -0,0 +1,955 @@ +:: ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ +:: +:: ██████ ██████ ██ ██ ████ ████████ ██████ ████████ ████████ ██ ██ ██ ██ ██████ +:: ██ ██ ██ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ ██ ██ ██ █ +:: ██ ██ ██ ████ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██ ██ ██ +:: ██ ██ ██ ████ ██ ██ ██ ██ ██ ██ ██ ████████ ██████ ██ ██ ██ █████ ██████ +:: ██ ██ ██ ██ ██ ████ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██ ██ +:: ██ ██ ██ ██ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ ██ ██ ██ +:: ██████ ██████ ██ ██ ████ ██ ██████ ██ ██ ████████ ██ ██ ██ ██ ██████ +:: +:: ► Hazırlayan: Hüseyin UZUNYAYLA / OgnitorenKs +:: +:: ► İletişim - Contact; +:: -------------------------------------- +:: • Discord: OgnitorenKs#2737 +:: • Site: https://ognitorenks.blogspot.com +:: +:: ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ +:OgnitorenKs.Builder +echo off +chcp 65001 > NUL 2>&1 +title EasyDism │ OgnitorenKs +setlocal enabledelayedexpansion +cls + +:: ------------------------------------------------------------- +:: Renklendirme +FOR /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E#&echo on&for %%b in (1) do rem"') do (set R=%%b) + +:: ------------------------------------------------------------- +:: Konum bilgisi +cd /d "%~dp0" +FOR /F %%a in ('"cd"') do set L=%%a + +:: ------------------------------------------------------------- +Findstr /i "Language_Pack" %L%\Settings.ini > NUL 2>&1 + if !errorlevel! NEQ 0 (FOR /F "tokens=6" %%a in ('Dism /Online /Get-intl ^| Find /I "Default system UI language"') do ( + if %%a EQU tr-TR (echo Language_Pack^>Turkish^> >> %L%\Settings.ini + set Lang=%L%\Bin\Language\Turkish.cmd) + if %%a NEQ tr-TR (echo Language_Pack^>English^> >> %L%\Settings.ini + set Lang=%L%\Bin\Language\English.cmd))) + if !errorlevel! EQU 0 (FOR /F "delims=> tokens=2" %%a in ('Findstr /i "Language_Pack" %L%\Settings.ini') do (set Lang=%L%\Bin\Language\%%a.cmd)) + +:: ------------------------------------------------------------- +:: Değişkenler +set NSudo="%L%\Bin\NSudo.exe" -U:T -P:E -Wait -ShowWindowMode:hide cmd /c +set Mount=%L%\Mount +set Mount_Road=NT + +:: ------------------------------------------------------------- +:: Admin yetkisini kontrol eder +reg query "HKU\S-1-5-19" > NUL 2>&1 + if %errorlevel% NEQ 0 (Call :Powershell "Start-Process '%L%\EasyDism.cmd' -Verb Runas"&exit) + +:: ------------------------------------------------------------- +:: x64 sistem kontrolü yapılır. +FOR /F "tokens=3" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v "PROCESSOR_ARCHITECTURE" 2^>NUL') do ( + if %%a NEQ AMD64 (Call :LA 2 Error_3_&cls&echo %R%[31m !LA2! %R%[0m&exit) +) + +:: ------------------------------------------------------------- +:: Klasör yolunda Türkçe karakter ve boşluk olup olmadığını kontrol etmek için ilgili başlığı çağırıyoruz +Call :Error_Character "%L%" + if %Error% EQU 1 (Call :LA 2 Y0001&echo.&echo %R%[32m !LA2! %R%[0m&Call :TO 3&exit) + if %Error% EQU 2 (Call :LA 2 Y0001&echo.&echo %R%[32m !LA2! %R%[0m&Call :TO 3&exit) + +:: ------------------------------------------------------------- +FOR %%a in (Regedit Output Driver Update Bin\Logs) do ( + MD "%L%\%%a" > NUL 2>&1 +) + +:: ------------------------------------------------------------- +:: Yüklü mount yollarını alır ve remount işlemi yapar. Bunun uygulanması olası hataları önlemektedir. +Call :LA 2 Y0023&echo.&echo %R%[92m !LA2! %R%[0m +Dism /Get-Mountedwiminfo > %L%\Bin\Logs\MountInfo.txt +FOR /F "delims=':' tokens=3" %%a in ('Find "Mount Dir" %L%\Bin\Logs\MountInfo.txt 2^>NUL') do ( + FOR /F "skip=2 delims=':' tokens=2" %%b in ('Find "Mount Dir" %L%\Bin\Logs\MountInfo.txt 2^>NUL') do ( + echo %%b | Findstr /i "?" > NUL 2>&1 + if !errorlevel! EQU 0 (FOR /F "delims='\\?\' tokens=2" %%c in ('echo %%b ^>NUL') do (set C=%%c + set C=!C:~1! + Dism /Remount-Image /MountDir:"!C!:%%a" > NUL 2>&1)) + if !errorlevel! NEQ 0 (set B=%%b + set B=!B:~1! + Dism /Remount-Image /MountDir:"!B!:%%a" > NUL 2>&1) + ) +) + +:: ██████████████████████████████████████████████████████████████████ +:Menu +mode con cols=100 lines=25 +Call :LA 2 Prepared_By_&Call :LB 3 Prepared_By_&echo %R%[90m !LB3!:%R%[96m !LA2! %R%[0m +Call :Mount_Check2 + if %Hata% EQU 1 (set Mount_Road=NT) +if !Mount_Road! EQU GO (mode con cols=130 lines=30 + Call :LA 2 Prepared_By_&Call :LB 3 Prepared_By_&echo %R%[90m !LB3!:%R%[96m !LA2! %R%[0m + Call :Menu_Reader) +echo. +Call :LA 2 Y0020&echo %R%[91m► EasyDism !LA2! %R%[0m +echo. +set Count=0 +FOR /L %%a in (1,1,13) do ( + Call :LA 2 Menu_%%a_ + set /a Count+=1 + if %%a LSS 10 (set Count= !Count!) + if %%a LEQ 11 (echo %R%[32m !Count! %R%[90m-%R%[33m !LA2! %R%[0m) + if %%a EQU 12 (echo %R%[32m !Count! %R%[90m-%R%[36m !LA2! %R%[0m) + if %%a EQU 13 (echo %R%[32m !Count! %R%[90m-%R%[37m !LA2! %R%[0m) + +) +echo. +Call :LA 2 D0001&set /p Menu=►%R%[92m !LA2!: %R%[0m + if %Menu% EQU 1 (Call :Imaj_WimReader) + if %Menu% EQU 2 (Call :Imaj_WIM2ESD) + if %Menu% EQU 3 (Call :Imaj_ESD2WIM) + if %Menu% EQU 4 (Call :Imaj_Index_Export) + if %Menu% EQU 5 (Call :Imaj_AIO_Maker) + if %Menu% EQU 6 (Call :Imaj_WimMount) + if %Menu% EQU 7 (Call :Mount_Driver_Install) + if %Menu% EQU 8 (Call :Mount_Regedit_Install) + if %Menu% EQU 9 (Call :Mount_Update_Install) + if %Menu% EQU 10 (Call :Mount_UnMount) + if %Menu% EQU 11 (Call :Imaj_ISO_Maker) + if %Menu% EQU 12 (Call :Mount_Reader) + if %Menu% EQU 13 (Call :Language_Select) + if %Error% EQU X (goto Menu) +Call :ProcessCompleted +goto Menu + +:: ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ +:Imaj_WimReader +mode con cols=100 lines=25 +Call :LA 2 Menu_1_&echo %R%[91m► !LA2! %R%[0m +echo.&Call :Install_Road +set F_Error=!Error! +set Error=NT +FOR %%a in (!F_Error!) do ( + if %%a EQU X (set Error=X) +) +set F_Error= +if %Error% EQU X (goto :eof) +Call :ModeLong&mode con cols=130 lines=!Mode! +Call :LA 2 Menu_1_&echo %R%[91m► !LA2! %R%[0m +Call :OgnitorenKs.Reader "%MainWim%" echo :: :: :: :: :: +Call :LA 2 Y0002&echo %R%[92m !LA2! %R%[0m +pause > NUL +goto :eof + +:: ------------------------------------------------------------- +:Imaj_WIM2ESD +mode con cols=100 lines=25 +Call :LA 2 Menu_2_&echo %R%[91m► !LA2! %R%[0m +set Error=NT +cls&Call :LA 2 Menu_2_&echo %R%[91m► !LA2! %R%[0m +echo.&Call :Install_Road +set F_Error=!Error! +set Error=NT +FOR %%a in (!F_Error!) do ( + FOR %%b in (1 2 4 5 6 12) do ( + if %%a EQU X (set Error=X) + if %%a EQU %%b (Call :LE %%b) + ) +) +set F_Error= +if %Error% EQU X (goto :eof) +Call :ModeLong&mode con cols=130 lines=!Mode! +Call :LA 2 Menu_2_&echo %R%[91m► !LA2! %R%[0m +Call :OgnitorenKs.Reader "%MainWim%" echo :: :: :: :: :: +Call :LA 2 D0002&set /p index=%R%[92m !LA2!: %R%[0m +:: Menü tuşlaması için kontrol eder. İndex kontrol edince hata veriyordu. Findstr ile aratmak zorunda kaldım. +echo %index% | Findstr /i "x" > NUL 2>&1 + if %errorlevel% EQU 0 (set Error=X&goto :eof) +:: Outuput klasöründe install.esd dosyasını kontrol eder. +dir /b %L%\Output\install.esd > NUL 2>&1 + if %errorlevel% EQU 0 (cls&echo.&Call :LA 2 Error_0_&echo %R%[91m !LA2! %R%[0m + echo.&Call :LA 2 Y0025&Call :LB 3 Y0025&echo %R%[33m !LA2! install.esd !LB3! %R%[0m + Call :LA 2 D0004&echo %R%[33m install.esd !LA2!:%R%[37m Z%R%[0m + Call :LA 2 D0005&echo %R%[33m !LA2!:%R%[37m X%R%[0m + Call :LA 2 D0001&echo.&set /p Value=►%R%[32m !LA2!: %R%[0m + Call :Upper Value "!Value!" + if !Value! EQU Z (DEL /F /Q /A "%L%\Output\install.esd" > NUL 2>&1) +) +) +:: Wim içeriğini okur, ekrana bilgi verip işlemi yapar. +mode con cols=130 lines=30 +Call :LA 2 Y0003 +FOR %%a in (%index%) do ( + FOR /F "tokens=3" %%b IN ('Dism /Get-WimInfo /WimFile:%MainWim% /Index:%%a ^| FIND "Architecture"') do ( + FOR /F "tokens=2 delims=:" %%c IN ('Dism /Get-WimInfo /WimFile:%MainWim% /Index:%%a ^| FIND "Name"') do ( + FOR /F "tokens=*" %%d in ('echo %%c') do ( + Call :For_Lang "%%a" "%%d %%b" + Dism /Export-Image /SourceImageFile:%MainWim% /SourceIndex:%%a /DestinationImageFile:%L%\Output\install.esd /Compress:Recovery /CheckIntegrity + ) + ) + ) +) +cls&echo.&Call :LA 2 Y0004&echo %R%[37m !LA2! %R%[0m +set Value=&echo.&Call :LA 2 D0006&set /p Value=►%R%[32m !LA2!%R%[90m [%R%[96m Y %R%[90m/%R%[96m N %R%[90m]: %R%[0m +Call :Upper Value %Value% + if %Value% EQU Y (cls&echo.&Call :LA 2 Y0005&echo %R%[92m !LA2! %R%[0m + DEL /F /Q /A %MainWim% > NUL 2>&1 + FOR /F "tokens=*" %%j in ('dir /b /s %L%\Output\install.esd') do (move /y "%%j" "%WimFile%\sources" > NUL 2>&1) + goto :eof +) +:: İşlem sonunda WIM_Compress klasörünü açar. Powershell ile bunu yaparak işlemi beklemesini önlüyorum. +Call :Powershell "Start-Process '%L%\Output'" +goto :eof + +:: ------------------------------------------------------------- +:Imaj_ESD2WIM +:: Çerçeve ayarı yapar. +mode con cols=100 lines=25 +set Error=NT +Call :LA 2 Menu_3_&echo %R%[91m► !LA2! %R%[0m +:: İmaj yolu almak için ilgili başlığı çağırır. +echo.&Call :Install_Road +set F_Error=!Error! +set Error=NT +FOR %%a in (!F_Error!) do ( + FOR %%b in (1 2 5 6 11 12) do ( + if %%a EQU X (set Error=X) + if %%a EQU %%b (Call :LE %%b) + ) +) +set F_Error= +if %Error% EQU X (goto :eof) +:: ESD içeriğini okumak için "OgnitorenKs.Reader" başlığı çağırılır. +Call :ModeLong&mode con cols=130 lines=!Mode! +Call :LA 2 Menu_3_&echo %R%[91m► !LA2! %R%[0m +Call :OgnitorenKs.Reader "%MainWim%" "echo" :: :: :: :: :: +:: Dönüştürülecek index numaralarının tuşlanması istenir. +Call :LA 2 D0002&set /p index=%R%[92m !LA2! %R%[90mx,y%R%[0m : +:: Menü tuşlaması için kontrol eder. İndex kontrol edince hata veriyordu. Findstr ile aratmak zorunda kaldım. +echo %index% | Findstr /i "x" > NUL 2>&1 + if %errorlevel% EQU 0 (set Error=X&goto :eof) +:: Outuput klasöründe install.wim dosyasını kontrol eder. +dir /b %L%\Output\install.wim > NUL 2>&1 + if %errorlevel% EQU 0 (cls&echo.&Call :LA 2 Error_0_&echo %R%[91m !LA2! %R%[0m + echo.&Call :LA 2 Y0025&Call :LB 3 Y0025&echo %R%[33m !LA2! install.wim !LB3! %R%[0m + Call :LA 2 D0004&echo %R%[33m install.wim !LA2!:%R%[37m Z%R%[0m + Call :LA 2 D0005&echo %R%[33m !LA2!:%R%[37m X%R%[0m + Call :LA 2 D0001&echo.&set /p Value=►%R%[32m !LA2!: %R%[0m + Call :Upper Value "!Value!" + if !Value! EQU Z (DEL /F /Q /A "%L%\Output\install.wim" > NUL 2>&1) +) +:: Wim içeriğini okur, ekrana bilgi verip işlemi yapar. +mode con cols=130 lines=30 +Call :LA 2 Y0003 +FOR %%a in (%index%) do ( + FOR /F "tokens=3" %%b IN ('Dism /Get-WimInfo /WimFile:%MainWim% /Index:%%a ^| FIND "Architecture"') do ( + FOR /F "tokens=2 delims=:" %%c IN ('Dism /Get-WimInfo /WimFile:%MainWim% /Index:%%a ^| FIND "Name"') do ( + FOR /F "tokens=*" %%d in ('echo %%c') do ( + Call :For_Lang "%%a" "%%d %%b" + Dism /Export-Image /SourceImageFile:%MainWim% /SourceIndex:%%a /DestinationImageFile:%L%\Output\install.wim /Compress:max /CheckIntegrity + ) + ) + ) +) +cls&echo.&Call :LA 2 Y0004&echo %R%[37m !LA2! %R%[0m +set Value=&echo.&Call :LA 2 D0006&set /p Value=►%R%[32m !LA2!%R%[90m [%R%[96m Y %R%[90m/%R%[96m N %R%[90m]: %R%[0m +Call :Upper Value %Value% + if %Value% EQU Y (cls&echo.&Call :LA 2 Y0005&echo %R%[92m !LA2! %R%[0m + DEL /F /Q /A %MainWim% > NUL 2>&1 + move /y "%L%\Output\install.wim" "%WimFile%\sources" > NUL 2>&1 + goto :eof +) +:: İşlem sonunda ESD2WIM klasörünü açar. Powershell ile bunu yaparak işlemi beklemesini önlüyorum. +Call :Powershell "Start-Process '%L%\Output'" +goto :eof + +:: ------------------------------------------------------------- +:Imaj_Index_Export +:: Çerçeve ayarı yapar. +mode con cols=100 lines=25 +set Error=NT +:: İmaj yolu almak için ilgili başlığı çağırır. +Call :LA 2 Menu_4_&echo %R%[91m► !LA2! %R%[0m +:: İmaj yolu alması için ilgili başlığı çağırır. +echo.&Call :Install_Road +set F_Error=!Error! +set Error=NT +FOR %%a in (!F_Error!) do ( + FOR %%b in (1 2 5 6) do ( + if %%a EQU X (set Error=X) + if %%a EQU %%b (Call :LE %%b) + ) +) +if %Error% EQU X (goto :eof) +:: Wim içeriğini okumak için "OgnitorenKs.Reader" başlığı çağırılır. +Call :ModeLong&mode con cols=130 lines=!Mode! +Call :LA 2 Menu_4_&echo %R%[91m► !LA2! %R%[0m +Call :OgnitorenKs.Reader "%MainWim%" echo :: :: :: :: :: +:: Silinecek indexleri ister. Çoklu seçim yapılamaz. Her silme işleminden sonra Index numaraları kayacağı için yanlış işlem yapar. +Call :LA 2 D0002&set /p index=%R%[92m !LA2! : %R%[0m +:: Menü tuşlaması için kontrol eder. İndex kontrol edince hata veriyordu. Findstr ile aratmak zorunda kaldım. +echo %index% | Findstr /i "x" > NUL 2>&1 + if %errorlevel% EQU 0 (set Error=X&goto :eof) +:: Outuput klasöründe install.wim dosyasını kontrol eder. +FOR %%a in (!F_Error!) do ( + if %%a EQU 4 (set VN=esd + dir /b %L%\Output\install.esd > NUL 2>&1 + if !errorlevel! EQU 0 (cls&echo.&Call :LA 2 Error_0_&echo %R%[91m !LA2! %R%[0m + echo.&Call :LA 2 Y0025&Call :LB 3 Y0025&echo %R%[33m !LA2! install.esd !LB3! %R%[0m + Call :LA 2 D0004&echo %R%[33m install.esd !LA2!:%R%[37m Z%R%[0m + Call :LA 2 D0005&echo %R%[33m !LA2!:%R%[37m X%R%[0m + Call :LA 2 D0001&echo.&set /p Value=►%R%[32m !LA2!: %R%[0m + Call :Upper Value "!Value!" + if !Value! EQU Z (DEL /F /Q /A "%L%\Output\install.esd" > NUL 2>&1) + ) +) + if %%a EQU 11 (set VN=wim + dir /b %L%\Output\install.wim > NUL 2>&1 + if !errorlevel! EQU 0 (cls&echo.&Call :LA 2 Error_0_&echo %R%[91m !LA2! %R%[0m + echo.&Call :LA 2 Y0025&Call :LB 3 Y0025&echo %R%[33m !LA2! install.wim !LB3! %R%[0m + Call :LA 2 D0004&echo %R%[33m install.wim !LA2!:%R%[37m Z%R%[0m + Call :LA 2 D0005&echo %R%[33m !LA2!:%R%[37m X%R%[0m + Call :LA 2 D0001&echo.&set /p Value=►%R%[32m !LA2!: %R%[0m + Call :Upper Value "!Value!" + if !Value! EQU Z (DEL /F /Q /A "%L%\Output\install.wim" > NUL 2>&1) + ) + ) +) + +set F_Error= +:: Wim içeriğini okur, ekrana bilgi verip işlemi yapar. +mode con cols=130 lines=30 +Call :LA 2 Y0006 +FOR %%a in (%index%) do ( + FOR /F "tokens=3" %%b IN ('Dism /Get-WimInfo /WimFile:%MainWim% /Index:%%a ^| FIND "Architecture"') do ( + FOR /F "tokens=2 delims=:" %%c IN ('Dism /Get-WimInfo /WimFile:%MainWim% /Index:%%a ^| FIND "Name"') do ( + FOR /F "tokens=*" %%d in ('echo %%c') do ( + Call :For_Lang "%%a" "%%d %%b" + Dism /Export-Image /SourceImageFile:%MainWim% /SourceIndex:%%a /DestinationImageFile:%L%\Output\install.!VN! /Compress:max /CheckIntegrity + ) + ) + ) +) +set VN= +cls&echo.&Call :LA 2 Y0004&echo %R%[37m !LA2! %R%[0m +set Value=&echo.&Call :LA 2 D0006&set /p Value=►%R%[32m !LA2!%R%[90m [%R%[96m Y %R%[90m/%R%[96m N %R%[90m]: %R%[0m +Call :Upper Value %Value% + if %Value% EQU Y (cls&echo.&Call :LA 2 Y0005&echo %R%[92m !LA2! %R%[0m + DEL /F /Q /A %MainWim% > NUL 2>&1 + move /y "%L%\Output\install.wim" "%WimFile%\sources" > NUL 2>&1 + goto :eof +) +Call :Powershell "Start-Process '%L%\Output'" +goto :eof + +:: ------------------------------------------------------------- +:Imaj_AIO_Maker +:: Çerçeve ayarını yapar +mode con cols=100 lines=25 +:: Başlık mesajını çağırır +Call :LA 2 Menu_5_&echo %R%[91m !LA2! %R%[0m +echo.&Call :LA 2 Y0007&echo %R%[90m !LA2! %R%[0m +:: İmaj yolunu alması için ilgili başlığı çağırıyoruz. +Call :Install_Road +set BaseWim=!MainWim! +set F_Error=&set F_Error=!Error! +set Error=NT +FOR %%a in (!F_Error!) do ( + FOR %%b in (1 2 4 5 6 7) do ( + if %%a EQU X (set Error=X) + if %%a EQU %%b (Call :LE %%b) + ) +) +if !Error! EQU X (goto :eof) +echo.&Call :LA 2 Y0008&echo %R%[90m !LA2! %R%[0m +:: WimRoad_3 bölümünden wim yolunu alıyoruz. +Call :Install_Road +set AddWim=!MainWim! +set MainWim=!BaseWim! +set BaseWim= +set F_Error=NT&set F_Error=!Error! +set Error=NT +FOR %%a in (!F_Error!) do ( + FOR %%b in (1 2 4 5 6 7) do ( + if %%a EQU X (set Error=X) + if %%a EQU %%b (Call :LE %%b) + ) +) +set F_Error= +if !Error! EQU X (goto :eof) +:: Wim dosya içeriğini okumak için OgnitorenKs.Reader bölümüne değerleri gönderiyorum. +Call :ModeLong2 +mode con cols=130 lines=!Mode! +Call :LA 2 Y0007&Call :OgnitorenKs.Reader "%MainWim%" :: echo "!LA2!" :: :: :: +Call :LA 2 Y0008&Call :OgnitorenKs.Reader "%AddWim%" :: :: :: echo "!LA2!" echo +:: Eklenecek olan sürümleri burada kullanıcıdan seçmesini istiyoruz. +Call :LA 2 D0002&set /p index=%R%[92m !LA2! %R%[90mx,y%R%[0m: +:: Menü tuşlaması için kontrol eder. İndex kontrol edince hata veriyordu. Findstr ile aratmak zorunda kaldım. +echo %index% | Findstr /i "x" > NUL 2>&1 + if %errorlevel% EQU 0 (set Error=X&goto :eof) +:: Wim içeriğini okur, ekrana bilgi verip işlemi yapar. +mode con cols=130 lines=30 +Call :LA 2 Y0009 +FOR %%a in (%index%) do ( + FOR /F "tokens=3" %%b IN ('Dism /Get-WimInfo /WimFile:%AddWim% /Index:%%a ^| FIND "Architecture"') do ( + FOR /F "tokens=2 delims=:" %%c IN ('Dism /Get-WimInfo /WimFile:%AddWim% /Index:%%a ^| FIND "Name"') do ( + FOR /F "tokens=*" %%d in ('echo %%c') do ( + Call :For_Lang "%%a" "%%d %%b" + Dism /Export-Image /SourceImageFile:%AddWim% /SourceIndex:%%a /DestinationImageFile:%MainWim% /Compress:max /CheckIntegrity + ) + ) + ) +) +:: İşlem bittikten sonra ana dizin içeriğini gösterir. +cls&Call :OgnitorenKs.Reader "%MainWim%" "echo" :: :: :: :: :: +echo.&Call :LA 2 Y0010&echo %R%[92m !LA2! %R%[0m +Call :LA 2 Y0011&echo %R%[96m !LA2! %R%[0m +pause > NUL +goto :eof + +:: ------------------------------------------------------------- +:Imaj_WimMount +mode con cols=100 lines=25 +:: Mount klasöründe yüklü bir sistem olup olmadığını kontrol eder. +set Error=NT +Dism /Get-Mountedwiminfo | Findstr /i "%L%\Mount" > NUL 2>&1 + if %errorlevel% EQU 0 (Call :LE 9) + if %errorlevel% NEQ 0 (RD /S /Q "%L%\Mount" > NUL 2>&1 + MD "%L%\Mount" > NUL 2>&1) +Call :RegeditCollect +cls&Call :LA 2 Menu_6_&echo %R%[91m► !LA2! %R%[0m +echo.&Call :Install_Road +set F_Error=!Error! +set Error=NT +FOR %%a in (!F_Error!) do ( + FOR %%b in (1 2 4 6 7) do ( + if %%a EQU X (set Error=X) + if %%a EQU %%b (Call :LE %%b) + ) +) +set F_Error= +:: Install.wim içeriğini okuması için yönelndirme yapıyorum. +Call :ModeLong&mode con cols=130 lines=!Mode! +Call :LA 2 Menu_6_&echo %R%[91m► !LA2! %R%[0m +Call :OgnitorenKs.Reader "%MainWim%" echo :: :: :: :: :: +:: İşlem yapılacak indexi kullanıcıdan istiyoruz +Call :LA 2 D0001&set /p index= %R%[92m !LA2! : %R%[0m +:: Menü tuşlaması için kontrol eder. İndex kontrol edince hata veriyordu. Findstr ile aratmak zorunda kaldım. +echo %index% | Findstr /i "x" > NUL 2>&1 + if %errorlevel% EQU 0 (set Error=X&goto :eof) +set Mount=%L%\Mount +mode con cols=130 lines=30 +Call :LA 2 Y0006 +:: Dism ile wim içeriği hakkında bilgi alınır ve yapılan işlem hakkında komut ekranına bilgi verir. +FOR %%a in (%index%) do ( + FOR /F "tokens=3" %%b IN ('Dism /Get-WimInfo /WimFile:%MainWim% /Index:%%a ^| FIND "Architecture"') do ( + FOR /F "tokens=2 delims=:" %%c IN ('Dism /Get-WimInfo /WimFile:%MainWim% /Index:%%a ^| FIND "Name"') do ( + FOR /F "tokens=*" %%d in ('echo %%c') do ( + Call :For_Lang "%%a" "%%d %%b" + Dism /Mount-Image /ImageFile:%MainWim% /MountDir:"%Mount%" /Index:%%a + ) + ) + ) +) +set Mount_Road=GO +goto :eof + +:: ------------------------------------------------------------- +:Mount_Driver_Install +mode con cols=130 lines=40 +Call :Mount_Check + if %Error% EQU X (goto :eof) +Call :LA 2 Y0012&echo.&echo %R%[32m !LA2!... %R%[0m +Dism /Image:%Mount% /Add-Driver /Driver:%L%\Driver /Recurse +goto :eof + +:: ------------------------------------------------------------- +:Mount_Regedit_Install +mode con cols=100 lines=25 +Call :Mount_Check + if %Error% EQU X (goto :eof) +dir /b %L%\Regedit\*.reg > NUL 2>&1 + if %errorlevel% NEQ 0 (set Error=X&goto :eof) +Call :LA 2 Y0026&echo.&echo %R%[32m !LA2! %R%[0m +Call :RegeditCollect +Call :RegeditInstall +set ValueR=0xx1524RtYn97752Hataonlemesistemi +FOR /F "skip=2 delims=\_ tokens=3" %%g in ('Find "[HKEY_USERS\S-1-5-" %L%\Regedit\*.reg 2^>NUL') do (set ValueR=%%g) +FOR /F "tokens=*" %%g in ('dir /b /s %L%\Regedit\*.reg 2^>NUL') do ( + Call :Powershell "(Get-Content %%g) | ForEach-Object { $_ -replace '%ValueR%', '.Default' } | Set-Content '%%g'" +) +set ValueR=0xx1524RtYn97752Hataonlemesistemi +FOR /F "skip=2 delims=\_ tokens=3" %%g in ('Find "[HKU\S-1-5-" %L%\Regedit\*.reg 2^>NUL') do (set ValueR=%%g) +FOR /F "tokens=*" %%g in ('dir /b /s %L%\Regedit\*.reg 2^>NUL') do ( + Call :Powershell "(Get-Content %%g) | ForEach-Object { $_ -replace '%ValueR%', '.Default' } | Set-Content '%%g'" +) +Call :Regedit_Turn "HKLM\\SOFTWARE" "HKEY_LOCAL_MACHINE\OFF_SOFTWARE" +Call :Regedit_Turn "HKEY_LOCAL_MACHINE\\SOFTWARE" "HKEY_LOCAL_MACHINE\OFF_SOFTWARE" +Call :Regedit_Turn "HKLM\\SYSTEM" "HKEY_LOCAL_MACHINE\OFF_SYSTEM" +Call :Regedit_Turn "HKEY_LOCAL_MACHINE\\SYSTEM" "HKEY_LOCAL_MACHINE\OFF_SYSTEM" +Call :Regedit_Turn "HKLM\\SYSTEM\\CurrentControlSet" "HKEY_LOCAL_MACHINE\OFF_SYSTEM\ControlSet001" +Call :Regedit_Turn "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet" "HKEY_LOCAL_MACHINE\OFF_SYSTEM\ControlSet001" +Call :Regedit_Turn "HKCR" "HKEY_LOCAL_MACHINE\OFF_SOFTWARE\Classes" +Call :Regedit_Turn "HKEY_CLASSES_ROOT" "HKEY_LOCAL_MACHINE\OFF_SOFTWARE\Classes" +Call :Regedit_Turn "HKCU" "HKEY_LOCAL_MACHINE\OFF_HKCU" +Call :Regedit_Turn "HKEY_CURRENT_USER" "HKEY_LOCAL_MACHINE\OFF_HKCU" +Call :Regedit_Turn "HKU\\.Default" "HKEY_LOCAL_MACHINE\OFF_HKU" +Call :Regedit_Turn "HKEY_USERS\\.Default" "HKEY_LOCAL_MACHINE\OFF_HKU" +FOR /F "tokens=*" %%k in ('dir /b /s %L%\Regedit\*.reg 2^>NUL') do ( + %NSudo% Reg import "%%k" +) +Call :Regedit_Turn "HKEY_LOCAL_MACHINE\\OFF_HKU" "HKEY_LOCAL_MACHINE\OFF_HKCU" +FOR /F "tokens=*" %%k in ('dir /b /s %L%\Regedit\*.reg 2^>NUL') do ( + %NSudo% Reg import "%%k" +) +Call :Regedit_Turn "HKEY_LOCAL_MACHINE\\OFF_HKCU" "HKEY_LOCAL_MACHINE\OFF_HKU" +FOR /F "tokens=*" %%k in ('dir /b /s %L%\Regedit\*.reg 2^>NUL') do ( + %NSudo% Reg import "%%k" +) +reg delete "HKLM\OFF_SYSTEM\CurrentControlSet" /f > NUL 2>&1 +Call :RegeditCollect +set ValueR= +goto :eof + +:Regedit_Turn +FOR /F "tokens=*" %%g in ('dir /b /s %L%\Regedit\*.reg 2^>NUL') do ( + Call :Powershell "(Get-Content %%g) | ForEach-Object { $_ -replace '%~1', '%~2' } | Set-Content '%%g'" +) +goto :eof + +:: ------------------------------------------------------------- +:Mount_Update_Install +mode con cols=130 lines=40 +Call :Mount_Check + if %Error% EQU X (goto :eof) +cls&Call :LA 2 Y0021&echo %R%[92m !LA2! %R%[0m +FOR /F %%a in ('dir /b %L%\Update\*.* 2^>NUL') do ( + Dism /Image:%Mount% /Add-Package /Packagepath=%L%\Update\%%a +) +goto :eof + +:: ------------------------------------------------------------- +:Mount_UnMount +:: Dism bazı durumlarda hata verip kapanabiliyor. Bu tarz bir durumda Powershell üzerinden toplama işlemi yapması için önlem aldım. +Call :RegeditCollect +Call :Mount_Reader +Call :LA 2 Y0018&cls&echo.&echo %R%[92m !LA2! %R%[0m +Dism /Unmount-Image /MountDir:%Mount% /commit + if !errorlevel! NEQ 0 (cls&Call :LA 2 Y0019&echo %R%[31m !LA2! %R%[0m + Call :Powershell "Dismount-WindowsImage -Path '%Mount%' -Save") +echo %MainWim% | Findstr /i "boot.wim" > NUL 2>&1 + if %errorlevel% EQU 0 (goto :eof) +Call :Mount_Check2 + if %Hata% EQU 1 (Call :LA 2 Y0024&cls&echo.&echo %R%[32m !LA2! %R%[0m + FOR /F "tokens=3" %%a in ('Dism /Get-WimInfo /WimFile:%MainWim% ^| Find "Index"') do ( + Dism /Export-Image /SourceImageFile:%MainWim% /SourceIndex:%%a /DestinationImageFile:%WimFile%\sources\newinstall.wim /Compress:max /CheckIntegrity) + DEL /F /Q /A "%MainWim%" > NUL 2>&1 + Rename "%WimFile%\sources\newinstall.wim" "install.wim" > NUL 2>&1 +) +goto :eof + +:: ------------------------------------------------------------- +:Imaj_ISO_Maker +mode con cols=130 lines=40 +:: Dil dosyasından veriyi çeker +Call :LA 2 Menu_11_&echo %R%[91m !LA2! %R%[0m +echo.&Call :LA 2 D0007&set /p WinISO=►%R%[92m !LA2! : %R%[0m + if %WinISO% EQU x (set Error=X&goto :eof) + if %WinISO% EQU X (set Error=X&goto :eof) +:: Boşluk ve Türkçe karakter tespiti yapılır. Tespit edilirse menüye döner. +Call :Error_Character "%WinISO%" +set F_Error=!Error! +set Error=NT +FOR %%a in (!F_Error!) do ( + FOR %%b in (1 2) do ( + if %%a EQU X (set Error=X) + if %%a EQU %%b (Call :LE %%b) + ) +) +set F_Error= +if %Error% EQU X (goto :eof) +Call :LA 2 D0008&echo.&set /p etiket=►%R%[92m !LA2! : %R%[0m + if %etiket% EQU x (set Error=X&goto :eof) + if %etiket% EQU X (set Error=X&goto :eof) +Call :LA 2 D0009&echo.&set /p isokayit=►%R%[92m !LA2! : %R%[0m + if %isokayit% EQU x (set Error=X&goto :eof) + if %isokayit% EQU X (set Error=X&goto :eof) +:: ISO dosyası kontrol edilr. +dir /b %L%\Output\%isokayit%.iso > NUL 2>&1 + if %errorlevel% EQU 0 (Call :LA 2 D0010&echo.&set /p Value=•%R%[33m '%isokayit%.iso' -%R%[37m !LA2! %R%[90m[%R%[36m Y %R%[90m/%R%[36m N %R%[90m]:%R%[0m + Call :Upper Value !Value! + if !Value! NEQ Y (set Error=X&goto :eof) +) +:: Dil dosyasından veri alınır. +cls&Call :LA 2 Menu_11_&echo %R%[91m► !LA2! %R%[0m +echo.&Call :LA 2 Y0022&echo %R%[92m !LA2! %R%[0m +:: Oscdimg ile ISO dosyası oluşturulur. +%L%\Bin\oscdimg.exe -m -o -u2 -udfver102 -bootdata:2#p0,e,b%WinISO%\boot\etfsboot.com#pEF,e,b%WinISO%\efi\microsoft\boot\efisys.bin -L%etiket% %WinISO%\ %L%\Output\%isokayit%.iso +:: İşlem bitince Output klasörünü açar. ISO dosyasına ulaşması için. +Call :Powershell "Start-Process '%L%\Output'" +:: Bölüme ait değişkenler sıfırlanır. +For %%a in (etiket isokayit WinISO) do (set %%a=) +goto :eof + +:: ██████████████████████████████████████████████████████████████████ +:____HANGAR____ +:Menu_Reader +Call :LA 2 Y0016&echo %R%[35m► !LA2! %R%[0m +echo. +echo %R%[90m► Mount =%R%[36m %Mount% %R%[0m +echo %R%[90m► Image =%R%[36m %MainWim:~1,-1% %R%[90m│%R%[36m %index%%R%[0m +FOR /F "tokens=3" %%a in ('Dism /Get-WimInfo /WimFile:%MainWim% /Index:%index% ^| FIND "Architecture"') do ( + FOR /F "skip=1 delims=. tokens=3" %%b in ('Dism /Get-WimInfo /WimFile:%MainWim% /Index:%index% ^| Find "Version"') do ( + FOR /F "tokens=4" %%c in ('Dism /Get-WimInfo /WimFile:%MainWim% /Index:%index% ^| Find "Build"') do ( + FOR /F "tokens=2 delims=':'" %%d in ('Dism /Get-WimInfo /WimFile:%MainWim% /Index:%index% ^| findstr /C:Name') do ( + echo %R%[90m► System =%R%[36m%%d %R%[90m│%R%[36m %%a%R%[0m + echo %R%[90m► Version =%R%[36m %%b.%%c%R%[0m + ) + ) + ) +) +goto :eof + +:: ------------------------------------------------------------- +:Mount_Reader +mode con cols=130 lines=40 +set Mount_Road=GO +DEL /F /Q /A "%L%\Bin\Logs\wiminfo.txt" > NUL 2>&1 +Dism /Get-Mountedwiminfo > %L%\Bin\Logs\MountInfo.txt +set Count=0 +FOR /F "delims=':' tokens=3" %%a in ('Find "Mount Dir" %L%\Bin\Logs\MountInfo.txt 2^>NUL') do ( + FOR /F "skip=2 delims=':' tokens=2" %%b in ('Find "Mount Dir" %L%\Bin\Logs\MountInfo.txt 2^>NUL') do ( + echo %%b | Findstr /i "?" > NUL 2>&1 + if !errorlevel! EQU 0 (FOR /F "delims='\\?\' tokens=2" %%c in ('echo %%b ^>NUL') do (set /a Count+=1 + set C=%%c + set C=!C:~1! + echo =Mount_!Count!_^>!C!:%%a^> >> %L%\Bin\Logs\wiminfo.txt + )) + if !errorlevel! NEQ 0 (set /a Count+=1 + set B=%%b + set B=!B:~1! + echo =Mount_!Count!_^>!B!:%%a^> >> %L%\Bin\Logs\wiminfo.txt + ) + ) +) +set Count=0 +FOR /F "delims=':' tokens=3" %%a in ('Find "Image File" %L%\Bin\Logs\MountInfo.txt 2^>NUL') do ( + FOR /F "skip=2 delims=':' tokens=2" %%b in ('Find "Image File" %L%\Bin\Logs\MountInfo.txt 2^>NUL') do ( + echo %%b | Findstr /i "?" > NUL 2>&1 + if !errorlevel! EQU 0 (FOR /F "delims='\\?\' tokens=2" %%c in ('echo %%b ^>NUL') do (set /a Count+=1 + set C=%%c + set C=!C:~1! + echo =Wim_!Count!_^>!C!:%%a^> >> %L%\Bin\Logs\wiminfo.txt + )) + if !errorlevel! NEQ 0 (set /a Count+=1 + set B=%%b + set B=!B:~1! + echo =Wim_!Count!_^>!B!:%%a^> >> %L%\Bin\Logs\wiminfo.txt + ) + ) +) +set Count=0 +FOR /F "tokens=4" %%g in ('Findstr /C:"Image Index" %L%\Bin\Logs\MountInfo.txt 2^>NUL') do ( + set /a Count+=1 + echo =Index_!Count!_^>%%g^> >> %L%\Bin\Logs\wiminfo.txt +) +:: Menü bölümü +cls&echo.&Call :LA 2 Y0013&echo %R%[35m !LA2! %R%[0m&echo. +set Count=0 +FOR /F "delims=> tokens=2" %%g in ('Findstr /i "=Mount" %L%\Bin\Logs\wiminfo.txt 2^>NUL') do ( + set /a Count+=1 + echo %R%[32m !Count!-%R%[36m %%g %R%[0m +) +:: Mount dizini yoksa uyarı mesajı verir +Findstr /i "=Mount_1_" %L%\Bin\Logs\wiminfo.txt > NUL 2>&1 + if %errorlevel% NEQ 0 (Call :LA 2 Y0014&echo %R%[31m !LA2! %R%[0m) +echo. +Call :LA 2 Y0015&echo %R%[32m X-%R%[37m !LA2! %R%[0m +FOR %%a in (B C) do (set %%a=) +echo.&Call :LA 2 D0001&set /p Value=%R%[90m►%R%[92m !LA2!= %R%[0m +Call :Upper Value %Value% +:: Offline regedit kayıtlarını kontrol eder. Bulursa kaldırır. +Call :RegeditCollect +if %Value% EQU X (set Error=X&goto Menu) +:: Mount tanımlamamaları için kontrol ve bilgi alma bölümü +FOR /F "delims=> tokens=2" %%g in ('Findstr /i "=Mount_%Value%_" %L%\Bin\Logs\wiminfo.txt 2^>NUL') do (set Mount=%%g) +FOR /F "delims=> tokens=2" %%g in ('Findstr /i "=Wim_%Value%_" %L%\Bin\Logs\wiminfo.txt 2^>NUL') do (set MainWim="%%g") +FOR /F "delims=> tokens=2" %%g in ('Findstr /i "=Index_%Value%_" %L%\Bin\Logs\wiminfo.txt 2^>NUL') do (set index=%%g) +echo %MainWim% | Findstr /i "install.wim" > NUL 2>&1 + if %errorlevel% EQU 0 (set WimFile=%MainWim:~1,-21%) +echo %MainWim% | Findstr /i "boot.wim" > NUL 2>&1 + if %errorlevel% EQU 0 (set WimFile=%MainWim:~1,-18%) +goto :eof + +:: ------------------------------------------------------------- +:Mount_Check +Dism /Get-Mountedwiminfo | Find "Mount Dir" | Findstr /i "%Mount%" > NUL 2>&1 + if %errorlevel% NEQ 0 (Call :LE 10) +goto :eof + +:Mount_Check2 +set Hata=1 +Dism /Get-Mountedwiminfo | Find "Mount Dir" | Find "%Mount%" > NUL 2>&1 + if %errorlevel% EQU 0 (set Hata=0) +goto :eof +:: ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ +:RegeditInstall +reg load HKLM\OFF_COMPONENTS "%Mount%\Windows\System32\config\COMPONENTS" > NUL 2>&1 +reg load HKLM\OFF_HKU "%Mount%\Windows\System32\config\default" > NUL 2>&1 +reg load HKLM\OFF_HKCU "%Mount%\Users\Default\ntuser.dat" > NUL 2>&1 +reg load HKLM\OFF_SOFTWARE "%Mount%\Windows\System32\config\SOFTWARE" > NUL 2>&1 +reg load HKLM\OFF_SYSTEM "%Mount%\Windows\System32\config\SYSTEM" > NUL 2>&1 +goto :eof + +:: ------------------------------------------------------------- +:RegeditCollect +taskkill /f /im "regedit.exe" > NUL 2>&1 +reg delete "HKLM\OFF_SYSTEM\CurrentControlSet" /f > NUL 2>&1 +FOR %%g in ({ TK_ OFF_ NLTmp~) do ( + FOR /F "tokens=*" %%k in ('reg query "HKLM" ^| Findstr "%%g"') do ( + reg unload "%%k" > NUL 2>&1 + ) +) +goto :eof + +:: ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ +:Powershell +:: Powershell komutları kullanıldığında komut istemi compact moda girmektedir. Bunu önlemek için karakter takımları arasında geçiş yapıyoruz. +chcp 437 > NUL 2>&1 +Powershell -command %* +chcp 65001 > NUL 2>&1 +goto :eof + +:: ------------------------------------------------------------- +:Powershell_2 +:: Powershell komutları kullanıldığında komut istemi compact moda girmektedir. Bunu önlemek için karakter takımları arasında geçiş yapıyoruz. +chcp 437 > NUL 2>&1 +Powershell -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Bypass -Command %* +chcp 65001 > NUL 2>&1 +goto :eof + +:: ------------------------------------------------------------- +:Parse +:: Tırnak işaretlerini kaldırır +set %~1=%~2 +goto :eof + +:: ------------------------------------------------------------- +:TO +timeout /t %~1 /nobreak > NUL +goto :eof + +:: ------------------------------------------------------------- +:Uzunluk +:: %~1: Değişken değeri %~2: Uzunluğu hesaplanacak olan değer +chcp 437 > NUL +FOR /F "tokens=*" %%z in ('Powershell -C "'%~2'.Length"') do (set Uzunluk%~1=%%z) +chcp 65001 > NUL +goto :eof + +:: ------------------------------------------------------------- +:ModeLong +FOR /F "tokens=3" %%z in ('Dism /Get-WimInfo /WimFile:!MainWim! ^| Find "Index"') do (set Mode=%%z) +set /a Mode*=2 +set /a Mode=6+!Mode! +goto :eof + +:: ------------------------------------------------------------- +:ModeLong2 +FOR /F "tokens=3" %%z in ('Dism /Get-WimInfo /WimFile:!MainWim! ^| Find "Index"') do (set Mode1=%%z) +FOR /F "tokens=3" %%z in ('Dism /Get-WimInfo /WimFile:!AddWim! ^| Find "Index"') do (set Mode2=%%z) +set /a Mode1*=2 +set /a Mode2*=2 +set /a Mode=11+!Mode1!+!Mode2! +FOR %%z in (Mode1 Mode2) do (set %%z=) +goto :eof + +:: ------------------------------------------------------------- +:Upper +:: %~1: Değişken adı | %~2: Girilen Hash Değeri +chcp 437 > NUL 2>&1 +FOR /F %%g in ('Powershell -command "'%~2'.ToUpper()"') do (set %~1=%%g) +chcp 65001 > NUL 2>&1 +goto :eof + + +:: ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ +:OgnitorenKs.Reader +%~3 %R%[90m┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐%R%[0m +%~3 %R%[95m ► %~4 ◄ +%~3 %R%[90m├─────┬──────┬────────────┬───────┬────────────┬───────────────────────────────────────────────────────────────────────────────┤%R%[0m +%~5 %R%[90m├─────┴──────┴────────────┴───────┴────────────┴───────────────────────────────────────────────────────────────────────────────┤%R%[0m +%~5 %R%[95m ► %~6 ◄ +%~5 %R%[90m├─────┬──────┬────────────┬───────┬────────────┬───────────────────────────────────────────────────────────────────────────────┤%R%[0m +%~2 %R%[90m┌─────┬──────┬────────────┬───────┬────────────┬───────────────────────────────────────────────────────────────────────────────┐%R%[0m +echo %R%[90m│%R%[32mIndex%R%[90m│%R%[32m Arch %R%[90m│ %R%[32m Version %R%[90m│ %R%[32mLang %R%[90m│ %R%[32m Edit %R%[90m│ %R%[32mName%R%[0m +FOR /F "tokens=3" %%a IN ('Dism /Get-WimInfo /WimFile:%~1 ^| Find "Index"') DO ( + FOR /F "tokens=3" %%b IN ('Dism /Get-WimInfo /WimFile:%~1 /Index:%%a ^| Find "Architecture"') DO ( + FOR /F "skip=1 delims=. tokens=3" %%c in ('Dism /Get-WimInfo /WimFile:%~1 /Index:%%a ^| Find "Version"') do ( + FOR /F "tokens=4" %%d in ('Dism /Get-WimInfo /WimFile:%~1 /Index:%%a ^| Find "Build"') do ( + FOR /F "tokens=1" %%e in ('Dism /Get-WimInfo /WimFile:%~1 /Index:%%a ^| findstr /i Default') do ( + FOR /F "tokens=2 delims=':'" %%f in ('Dism /Get-WimInfo /WimFile:%~1 /Index:%%a ^| findstr /i Name') do ( + FOR /F "tokens=2 delims='-',':' " %%g in ('Dism /Get-WimInfo /WimFile:%~1 /Index:%%a ^| findstr /i Modified') do ( + set Huseyin=%%g + FOR /F "delims=. tokens=1" %%a in ('echo %%g') do (if %%a LSS 10 (set Huseyin=0%%g)) + Call :Uzunluk 1 %%c + if !Uzunluk1! EQU 4 (set Ogni= %%c) + if !Uzunluk1! EQU 5 (set Ogni=%%c) + echo %R%[90m├─────┼──────┼────────────┼───────┼────────────┼───────────────────────────────────────────────────────────────────────────────┤%R%[0m + echo %R%[92m %%a%R%[0m ► %R%[33m %%b %R%[36m !Ogni!.%%d %R%[33m %%e %R%[36m !Huseyin! %R%[37m %%f%R%[0m + ) + ) + ) + ) + ) + ) + ) + ) + ) +) +%~2 %R%[90m└─────┴──────┴────────────┴───────┴────────────┴───────────────────────────────────────────────────────────────────────────────┘%R%[0m +%~7 %R%[90m└─────┴──────┴────────────┴───────┴────────────┴───────────────────────────────────────────────────────────────────────────────┘%R%[0m +goto :eof +echo %R%[92m %%a%R%[0m ► %R%[33m %%b %R%[36m %%c.%%d %R%[90m %R%[33m %%e %R%[36m !Huseyin! %R%[37m %%f%R%[0m + +:: ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ +:Error_Character +:: Klasör yolunda Türkçe karakterleri kontrol eder +set Error=NT +set Check=%~1 +FOR %%z in (Ö ö Ü ü Ğ ğ Ş ş Ç ç ı İ) do ( + echo %Check% | Find "%%a" > NUL 2>&1 + if !errorlevel! EQU 0 (cls&echo.&Call :LA 2 Error_1_&echo %R%[31m !LA2! %R%[0m&set Error=1) +) +:: Klasör yolunda boşlukları tespit eder. +if "%Check%" NEQ "%Check: =%" (cls&echo.&Call :LA 2 Error_2_&echo %R%[31m !LA2! %R%[0m&set Error=!Error!,2) +set Check= +goto :eof + +:: ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ +:Install_Road +set Error=NT +Call :LA 2 D0003&set /p MainWim=►%R%[92m !LA2!: %R%[0m +For %%g in (x X) do ( + if %MainWim% EQU %%g (set Error=X&goto :eof) +) +:: Türkçe karakter ve boşluk kontrolü +Call :Error_Character "%MainWim%" + if %Error% NEQ NT (goto :eof +) +:: ISO kontrolü +echo %MainWim%\ | Find "\\" > NUL 2>&1 + if %errorlevel% EQU 0 (set Error=!Error!,6&set MainWim=%MainWim:~0,-1% +) +:: Verilen yolda boot.wim olarak mı verilmiş onu kontrol ediyorum. +echo %MainWim% | Findstr /i "boot.wim" > NUL 2>&1 + if %errorlevel% EQU 0 (Call :WimRoad "BootWim" !MainWim!&Call :WimFile !BootWim!&Call :Boot_Index&set Error=!Error!,5&goto :eof) + if %errorlevel% NEQ 0 (dir /b /s %MainWim%\*boot.wim > NUL 2>&1 + if !errorlevel! NEQ 0 (set Error=!Error!,8) + if !errorlevel! EQU 0 (Call :Boot_Road&Call :Boot_Index&Call :WimFile !BootWim!) +) +:: Verilen yol install.wim'in mi onu kontrol ediyorum. +echo %MainWim% | Findstr /i "install.wim" > NUL 2>&1 + if %errorlevel% EQU 0 (set Error=!Error!,11&Call :WimRoad MainWim !MainWim!&Call :WimFile !MainWim!&goto :eof) + if %errorlevel% NEQ 0 (dir /b /s %MainWim%\*install.wim > NUL 2>&1 + if !errorlevel! EQU 0 (set Error=!Error!,11 + FOR /R %MainWim%\ %%g in (*install.wim) do (Call :WimRoad MainWim %%g&Call :WimFile %%g)) + if !errorlevel! NEQ 0 (set Error=!Error!,7) +) +:: Verilen yol install.esd'nin yolu mu onu kontrol ediyorum. +echo %MainWim% | Findstr /i "install.esd" > NUL 2>&1 + if %errorlevel% EQU 0 (set Error=!Error!,4) + if %errorlevel% NEQ 0 (dir /b /s %MainWim%\*install.esd > NUL 2>&1 + if !errorlevel! EQU 0 (set Error=!Error!,4 + FOR /F "delims=7 tokens=1" %%g in ('echo !Error!') do (set N_Error=%%g) + FOR /F "delims=7 tokens=2" %%g in ('echo !Error!') do (set N_Error=!N_Error!%%g) + set Error=!N_Error! + set N_Error= + FOR /R %MainWim%\ %%g in (*install.esd) do (Call :WimRoad MainWim %%g&Call :WimFile %%g)) + if !errorlevel! NEQ 0 (echo !Error! | Findstr /i "7" > NUL 2>&1 + if !errorlevel! NEQ 0 (set Error=!Error!,77)) +) +goto :eof +:Boot_Road +FOR /R %MainWim%\ %%g in (*boot.wim) do (Call :WimRoad BootWim %%g) +goto :eof +:Boot_Index +Dism /Get-WimInfo /WimFile:%BootWim% /Index:1 | Find "Microsoft Windows Setup" > NUL 2>&1 + if %errorlevel% EQU 0 (set BootIndex=1) + if %errorlevel% NEQ 0 (set BootIndex=2) +goto :eof +:WimFile +set WimFile=%~dp1 +set WimFile=!WimFile:~0,-9! +goto :eof +:WimRoad +set %~1="%~2" +goto :eof + +:: ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ +:LA +FOR /F "delims=> tokens=%~1" %%g in ('Findstr /i "%~2" %Lang%') do (set LA%~1=%%g) +goto :eof + +:LB +FOR /F "delims=> tokens=%~1" %%g in ('Findstr /i "%~2" %Lang%') do (set LB%~1=%%g) +goto :eof + +:LC +FOR /F "delims=> tokens=%~1" %%g in ('Findstr /i "%~2" %Lang%') do (set LC%~1=%%g) +goto :eof + +:LE +cls&echo.&Call :LA 2 Error_%~1_&echo %R%[31m !LA2! %R%[0m&Call :TO 4&set Error=X +goto :eof + +:For_Lang +cls +echo. +echo ►%R%[92m Index%R%[33m %~1 - "%~2"%R%[92m !LA2!...%R%[0m +echo. +goto :eof + +:: ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ +:ProcessCompleted +mode con cols=39 lines=18 +echo. +echo %R%[90m┌───────────────┐%R%[0m +echo %R%[90m│%R%[32m %R%[90m│%R%[0m +echo %R%[90m│%R%[32m ██ %R%[90m│%R%[0m +echo %R%[90m│%R%[32m ██ %R%[90m│%R%[0m +echo %R%[90m│%R%[32m ██ ██ %R%[90m│%R%[0m +echo %R%[90m│%R%[32m ██ ██ %R%[90m│%R%[0m +echo %R%[90m│%R%[32m ███ %R%[90m│%R%[0m +echo %R%[90m│ %R%[90m│%R%[0m +echo %R%[90m└───────────────┘%R%[0m +echo. +timeout /t 1 /nobreak > NUL +goto :eof + +:: ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ +:Language_Select +cls +DEL /F /Q /A %L%\Bing\Logs\Dil > NUL 2>&1 +Call :LA 2 Menu_13_&echo.&echo %R%[91m !LA2! %R%[0m&echo. +set Count=0 +FOR /F "delims=. tokens=1" %%g in ('dir /b "%L%\Bin\Language\*.cmd" 2^>NUL') do ( + set /a Count+=1 + echo Lang_!Count!_^>%%g^> >> %L%\Bin\Logs\Dil + echo %R%[32m !Count! %R%[90m- %R%[33m %%g %R%[0m +) +Call :LA 2 Y0015&echo %R%[32m X %R%[90m- %R%[37m !LA2! %R%[0m +Call :LA 2 D0001&echo.&set /p Value_M=►%R%[32m !LA2!%R%[90m= %R%[0m +Call :Upper Value_M %Value_M% + if %Value_M% EQU X (goto Main_Menu) +FOR /F "delims=> tokens=2" %%g in ('Findstr /i "Lang_!Value_M!_" %L%\Bin\Logs\Dil') do ( + FOR /F "delims=> tokens=2" %%k in ('Findstr /i "Language_Pack" %L%\Settings.ini') do ( + set Lang=%L%\Bin\Language\%%g.cmd + Call :Powershell "(Get-Content %L%\Settings.ini) | ForEach-Object { $_ -replace '%%k', '%%g' } | Set-Content '%L%\Settings.ini'" + ) +) +goto :eof \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..354fe31 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,147 @@ +## Creative Commons Attribution-NonCommercial 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +### Section 1 – Definitions. + +a. __Adapted Material__ means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + +b. __Adapter's License__ means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + +c. __Copyright and Similar Rights__ means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + +d. __Effective Technological Measures__ means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + +e. __Exceptions and Limitations__ means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + +f. __Licensed Material__ means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + +g. __Licensed Rights__ means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + +h. __Licensor__ means the individual(s) or entity(ies) granting rights under this Public License. + +i. __NonCommercial__ means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange. + +j. __Share__ means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + +k. __Sui Generis Database Rights__ means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + +l. __You__ means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. + +### Section 2 – Scope. + +a. ___License grant.___ + + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + + A. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and + + B. produce, reproduce, and Share Adapted Material for NonCommercial purposes only. + + 2. __Exceptions and Limitations.__ For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + + 3. __Term.__ The term of this Public License is specified in Section 6(a). + + 4. __Media and formats; technical modifications allowed.__ The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + + 5. __Downstream recipients.__ + + A. __Offer from the Licensor – Licensed Material.__ Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + + B. __Additional offer from the Licensor – Adapted Material.__ You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + + 6. __No endorsement.__ Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + +b. ___Other rights.___ + + 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this Public License. + + 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes. + +### Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + +a. ___Attribution.___ + + 1. If You Share the Licensed Material (including in modified form), You must: + + A. retain the following if it is supplied by the Licensor with the Licensed Material: + + i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of warranties; + + v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + + B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + + C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + + 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. + +### Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + +a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only; + +b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and + +c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. + +### Section 5 – Disclaimer of Warranties and Limitation of Liability. + +a. __Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.__ + +b. __To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.__ + +c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. + +### Section 6 – Term and Termination. + +a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + +b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + +c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + +d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + +### Section 7 – Other Terms and Conditions. + +a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + +b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. + +### Section 8 – Interpretation. + +a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + +b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + +c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + +d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. + +> Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” The text of the Creative Commons public licenses is dedicated to the public domain under the [CC0 Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/legalcode). Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. +> +> Creative Commons may be contacted at creativecommons.org. diff --git a/README-TR.md b/README-TR.md new file mode 100644 index 0000000..4136dc5 --- /dev/null +++ b/README-TR.md @@ -0,0 +1,155 @@ +![Repo1](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/Repo-SS/Title.png) + +### Hazırlayan: Hüseyin UZUNYAYLA / OgnitorenKs +- ► Discord: https://discord.gg/7hbzSGTYeZ +- ► Mail: ognitorenks@gmail.com +- ► Site: [https://ognitorenks.blospot.com](https://ognitorenks.blospot.com) +- ► Desteklenen diller = Turkish │ English + +Çalışmanın tüm hakları Hüseyin UZUNYAYLA’ya aittir. Çalışma üzerinde geliştirme, kopyalama, içeriğini değiştirmek yasaktır. Uygulamayı farklı platformlar üzerinde paylaşmak isterseniz tarafımdan izin almanız gerekmektedir. + +# EASYDISM + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/0.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/6.4.png) + +- EasyDism Windows 10 - 11 sürümlerinin x64 mimarilerinde çalışmaktadır. +- Windows ekran ölçeklendirme ayarı Toolbox'ın pencere ayarını bozabilir. + +
+ 1 - WIM │ ESD okuyucu + +Bu bölümde 'install.wim', 'instal.esd' ve 'boot.wim' dosyasının içeriğini görüntülüyebilirsiniz. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/1.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/1.2.png) + +
+ +
+ 2 - WIM ► ESD dönüştür + +- install.wim dosyasını install.esd dosyasına dönüştürebilirsiniz. +- Esd dönüştürme işlemi install.wim dosyasını oldukça sıkıştırıp boyutunu düşürecektir. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/2.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/2.2.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/2.3.png) + +
+ +
+ 3 - ESD ► WIM dönüştür + +- install.esd dosyasını install.wim'e dönüştürebilirsiniz. +- install.esd dosyaları üzerinde yeniden işlem yapmak için öncelikle install.wim'e dönüştürülmelidir. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/3.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/3.2.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/3.3.png) + +
+ +
+ 4 - İndex çıkart + +Bu bölümü aynı zamanda index silici olarak kullanabilirsiniz. Çünkü index silme işlemi install.wim içerisinde çöp dosyaları temizlemediği için boyutta azalma olmaz. Ancak 'index çıkarıcı' yeni oluşturacağı install dosyasına çöp dosyaları almayacağı için öncesinde düzenleme yaptıysanız boyutta azalma olacaktır. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/4.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/4.2.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/4.3.png) + +Bu bölümde daha önceden çıkarma yaptıysanız ve dosyalarınızı EasyDism klasöründen almayı unutma durumunuza karşın yeni işlemlerde seçenekli işlem sunar. Yani Output klasörü içerisinde install.wim/esd dosyası varsa çıkarma işleminize göre uyarı verecektir. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/4.4.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/4.5.png) + +
+ +
+ 5 - Hepsi bir arada Windows Hazırla [AIO] + +Farklı Windows sürümlerini tek bir ISO'da toplamanıza imkan tanır. Yani Windows 10 ve Windows 11 sürümlerinin birlikte olduğu tek bir install.wim dosyası oluşturmanıza imkan verir. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/5.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/5.2.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/5.3.png) + +
+ +
+ 6 - İmaj yükle [Mount] + +İmaj dosyasını dizine çıkarmanızı sağlar. Birden fazla imajı çıkaramazsınız. İmaj tanımlandıktan sonra ana menüye içeriği hakkında bilgileri yazar. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/6.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/6.2.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/6.3.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/6.4.png) + +
+ +
+ 7 - Sürücü yükle + +Dizine çıkarılmış imajlara sürücü yüklemenizi sağlar. Eklemek istediğiniz sürücüleri EasyDism uygulamasının yüklü dizininde 'Driver' klasörü içine atıp. Bu bölümü tuşlayıp çalıştırarak yükleme işlemini gerçekleştirebilirsiniz. + +
+ +
+ 8 - Regedit kayıtlarını yükle + +İmaj içine regedit kayıtlarını entegre etmenizi sağlar. Yüklemek istediğiniz '.reg' dosyalarını EasyDism uygulamasının yüklü dizininde 'Regedit' klasörü içine atınız. Daha sonra bu bölümü çalıştırıp entegre işlemini başlatabilirsiniz. Bu kadar gelişmiş regedit kayıt entegrasyonunu başka bir uygulamada bulamazsınız. + +
+ +
+ 9 - Güncelleme yükle + +Mount edilmiş imaj içine güncelleme yükleme imkanı sağlar. Yüklemek istediğiniz güncelleme dosyalarını EasyDism uygulamasının yüklü dizininde 'Update' klasörü için atınız. Daha sonra bu bölümü çalıştırıp yükleme işlemini gerçekleştirebilirsiniz. Bu bölüm işlem sonunda güncelleme çöp dosyalarını da temizleyecektir. + +
+ +
+ 10 - İmaj topla [UnMount] + +Mount edilmiş sistemi toplayıp install.wim haline getirir. Mount edilmiş imaj üzerinde yaptığınız düzenlemelerden sonra toplama işlemi sonrası install.wim'in boyutu düşeceğine artabiliyor. Bunun sebebi kaldırdığımız bileşenlerin çöp dosya olarak kalmasıdır. Bu bölüm mount edilen imajı toplarken indexleri önce ayrı dizine çıkarıp yeniden oluşturur. Böylece çöp dosyalar silindiği için boyutu da düşürecektir. + +- Toplama işlemi sonrası ana menüdeki imaj bilgileri kaldırılacaktır. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/10.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/10.2.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/10.3.png) + +
+ +
+ 11 - ISO hazırla + +UEFI ve Legacy BIOS kurulum için uygun ISO hazırlamanıza imkan tanır. ISO hazırlandıktan sonra oluşturulduğu klasör açılacaktır. Daha önceden yaptığınız işlemlerde unuttuğunuz aynı isimde ISO varsa öncesinde uyarı verecektir. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/11.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/11.2.png) + +
+ +
+ 12 - Mount yol tanımla + +Bu bölümde daha önceden mount ettiğiniz bir imaj varsa onu seçip tanımladıktan sonra EasyDism üzerinde işlem yapmanıza imkan tanır. Tanımlamadan sonra ana menüde imaj hakkında bilgiler yazılacaktır. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/10.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/6.4.png) + + +
+ +
+ 13 - EasyDism dil değiştirme + +Açılışta varsayılan sistem diline göre otomatik seçim yapılmaktadır. Değiştirmek isterseniz bu bölümü kullanabilirsiniz. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/13.png) + + +
\ No newline at end of file diff --git a/README.md b/README.md index 9638201..23324c9 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,155 @@ -# EasyDism -Dism Manager +![Repo1](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/Repo-SS/Title.png) + +#### Prepared by: Hüseyin UZUNYAYLA / OgnitorenKs +- ► Discord: https://discord.gg/7hbzSGTYeZ +- ► Mail: ognitorenks@gmail.com +- ► Site: [https://ognitorenks.blospot.com](https://ognitorenks.blospot.com) +- Supported languages = English │ Turkish +- Türkçe açıklama: [https://github.com/OgnitorenKs/EasyDism/blob/main/README-TR.md](README-TR.md) + +All rights of the work belong to Hüseyin UZUNYAYLA. It is forbidden to develop, copy, change the content of the work. If you want to share the application on different platforms, you need to get permission from me. + +# EASYDISM + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/0.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/TR-SS/6.4.png) + +- EasyDism works on x64 architectures of Windows 10 - 11 versions. +- Windows screen scaling setting may break Toolbox's window setting. + +
+ 1 - WIM │ ESD Reader + +In this section you can view the contents of 'install.wim', 'instal.esd' and 'boot.wim'. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/1.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/1.2.png) + +
+ +
+ 2 - WIM ► Convert ESD + +- You can convert install.wim to install.esd. +- Esd conversion will compress install.wim considerably and reduce its size. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/2.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/2.2.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/2.3.png) + +
+ +
+ 3 - ESD ► Convert WIM + +- You can convert install.esd to install.wim. +- To reprocess install.esd files, they must first be converted to install.wim. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/3.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/3.2.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/3.3.png) + +
+ +
+ 4 - Extract index + +You can also use this section as an index eraser. Because the index deletion does not clean the junk files in install.wim, the size will not decrease. However, the 'index extractor' will not include junk files in the newly created install file, so if you have edited it before, the size will decrease. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/4.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/4.2.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/4.3.png) + +If you have already extracted in this section and you forgot to get your files from the EasyDism folder, it offers an option for new operations. In other words, if there is an install.wim/esd file in the Output folder, it will warn you according to your extraction process. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/4.4.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/4.5.png) + +
+ +
+ 5 - Prepare All-in-one Windows [AIO] + +It allows you to combine different versions of Windows into a single ISO. In other words, it allows you to create a single install.wim file with Windows 10 and Windows 11 versions together. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/5.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/5.2.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/5.3.png) + +
+ +
+ 6 - Mount Image [Mount] + +Allows you to extract the image file to the directory. You cannot extract more than one image. Once the image is defined, it writes information about its contents to the main menu. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/6.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/6.2.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/6.3.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/6.4.png) + +
+ +
+ 7 - Install driver + +Allows you to install drivers to indexed images. You can add the drivers you want to add in the 'Driver' folder in the installed directory of EasyDism. You can perform the installation process by clicking and running this section. + +
+ +
+ 8 - Load regedit records + +It allows you to integrate regedit records into the image. Put the '.reg' files you want to install into the 'Regedit' folder in the installed directory of EasyDism. You can then run this section and start the integration process. You will not find such advanced regedit registry integration in any other application. + +
+ +
+ 9 - Install update + +It allows you to install updates into the mounted image. Put the update files you want to install into the 'Update' folder in the installed directory of EasyDism. You can then run this partition and perform the installation process. This section will also clean up the update trash files at the end of the process. + +
+ +
+ 10 - Mount Image [UnMount] + +It collects the mounted system and turns it into install.wim. After you make edits to the mounted image, the size of install.wim may increase instead of decreasing. This is because the components we removed remain as garbage files. When this section collects the mounted image, it first extracts the indexes to a separate directory and then rebuilds them. This will reduce the size as the junk files are deleted. + +- After the collection process, the image information in the main menu will be removed. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/10.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/10.2.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/10.3.png) + +
+ +
+ 11 - Prepare ISO + +It allows you to prepare a suitable ISO for UEFI and Legacy BIOS installation. After the ISO is prepared, the folder where it was created will open. If there is an ISO with the same name that you have forgotten in your previous operations, it will warn you beforehand. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/11.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/11.2.png) + +
+ +
+ 12 - Define mount path + +In this section, if you have an image that you have previously mounted, you can select and define it and then you can operate on EasyDism. After the definition, the main menu will display information about the image. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/10.1.png) +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/6.4.png) + + +
+ +
+ 13 - EasyDism change language + +At startup, the default system language is automatically selected. You can use this section if you want to change it. + +![Tool0](https://raw.githubusercontent.com/OgnitorenKs/EasyDism/main/.github/EN-SS/13.png) + +
\ No newline at end of file