@if (@CodeSection == @Batch) @then
@echo off
setlocal EnableDelayedExpansion
SET vars=
SET count=1
FOR /F "delims= USEBACKQ" %%F IN (`dir /b /a-d *lng`) DO (
SET var!count!=%%F
SET /a count=!count!+1
)
if not defined var2 goto *DALSZY KOD*
rem Zdefiniuj opcje
set numOpts=0
for %%a in (POLA WYBORU ODDZIELONE SPACJAMI) do (
set /A numOpts+=1
set "option[!numOpts!]=%%a"
)
doskey /REINSTALL
cscript //nologo /E:JScript "%~F0" EnterOpts
for /L %%i in (1,1,%numOpts%) do set /P "var="
:nextOpt
cls
echo ZNALEZIONO PLIKI JEZYKOWE
echo/
cscript //nologo /E:JScript "%~F0"
set /P "var=Wybierz jezyk do uruchomienia: "
echo/
if "%var%" equ "exit" goto :EOF
echo Wybrany jezyk: "%var%"
pause
goto nextOpt
@end
var wshShell = WScript.CreateObject("WScript.Shell"),
envVar = wshShell.Environment("Process"),
numOpts = parseInt(envVar("numOpts"));
if ( WScript.Arguments.Length ) {
for ( var i=1; i <= numOpts; i++ ) {
wshShell.SendKeys(envVar("option["+i+"]")+"{ENTER}");
}
} else {
wshShell.SendKeys("{F7}");
}
Mam pliki językowe (domowej roboty) .lng, w ktorych pierwsza linijka to np "english", "polski" a następne string001=Witaj bla bla, string002=...
Pliki nazywają się np lang_PL.lng, lang_EN.lng
No więc tak, to jest kawałek kodu, który odpowiada za menu wyboru oraz czytanie listy plików *.lng do zmiennych (var1, var2....var(n) n-zależnie od ilości plików).
Np. var1=lang_PL.lng, var2=lang_EN.lng
Moim celem jest, by W MENU pokazywało wszystkie wykryte *.lng do wyboru (niezależnie od tego ile ich jest) ALE w formie tej pierwszej linijki np. Polski, English, i zwracało po wybraniu np "EN" "PL"