Hirdetés
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Megjelenési dátumot kapott a Metaphor: ReFantazio
gp A tervek szerint a végső kiadás októberben lesz elérhető PC-re és konzolokra.
-
Közel 1 billió dollárt vesztettek a big tech óriásai
it Nagyot kaszáltak a shortolók, az úgynevezett Magnificent 7 közel 1 billió dollárt veszített a piaci értékéből a múlt héten.
Új hozzászólás Aktív témák
-
bilon73
aktív tag
-
RedHarlow
aktív tag
Sziasztok!
Tudna nekem segíteni valaki írni egy olyan kódot, ami az adott mappában lévő xml-ekben egyesével megszámolja, hogy hányszor szerepel az "<alma>" szó és kiírja egy külön txt-be azzal együtt, hogy melyik fájlban találta? A fájlok neve elég hosszú, ezért mondjuk az első 10 karakter elég lenne a txt-be. A mappában lévő xml fájlok száma változhat minden nap.
Tehát:
Fájlok:
elso.xml
masodik.xml
harmadik.xml
negyedik.xml-------------------
Keresett szó: <alma>
-------------------Amilyen txt-t szeretnék:
elso = 15
masodik = 12
harmadik = 0
negyedik = 1Előre is köszönöm annak aki időt szán rá!
[ Szerkesztve ]
-
I02S3F
őstag
Sziasztok!
Batch-t tanulok.
Feladat
Primitív „move” parancs összefűzéssel
– Először másol, ha sikeres volt, akkor töröl
• Előfeltétel ellenőrzés
– Csak akkor próbálja kiírni egy fájl tartalmát,
ha az létezik
– Próbálja ki vizsgálat nélkül is a végrehajtást
• Hibakezelés
– Ha a másolás parancs nem fut le, akkor írjon
ki egy üzenetet (pl. „SIKERTELEN”)A tanár megoldása
COPY szov.txt D:\ && DEL szov.txt
• DIR szov.txt >NUL && TYPE szov.txt
• DIR szov.txt >NUL & TYPE szov.txt
• COPY szov.txt D:\ || ECHO sikeretelenAz én megoldásom
cls
@echo off
copy %1 %2 || echo A muvelet sikertelen && del /Q %1
echo nyomjon egy gombot a kilepeshez
pause > NULKérdésem az előfeltétel ellenőrzés hogyan oldható meg?
A tanár megoldásában a 2. és 3. sor nekem értelmetlennek tűnik, mi értelme van? -
Csontikka
aktív tag
Szia!
Szerintem a tanár kódjában az a 2 sor arra szolgál, hogy szimbolizálja a működésbeli különbséget.
& - a következő parancs mindenképp lefut, valójában több parancsot adsz meg 1 sorban
&& - ha az előző parancs kimenete 0 akkor lefut (vagyis ez már egy előfeltétel ellenőrzés)
|| - ha az előző parancs kimenete nem 0 akkor fut le (tehát ez is egy előfeltétel ellenőrzés)a konkrét feladatoknál:
1)
Először másol, ha sikeres volt, akkor törölCOPY szov.txt D:\ && DEL szov.txt
&& utáni rész csak akkor fut le ha sikeres volt az első parancs, vagyis ez így ok
2)
Csak akkor próbálja kiírni egy fájl tartalmát, ha az létezikDIR szov.txt >NUL && TYPE szov.txt
&& utáni rész csak akkor fut le ha sikeres volt az első parancs, vagyis ez is rendben, csak akkor fogja kiírni a tartalmát ha a dir parancs kimenete 0 volt, ami akkor áll elő, ha a file létezik.
egy alternatív megoldás erre:
if exist szov.txt type szov.txt
(ha létezik szov.txt írd ki szov.txt tartalmát, ez is egyfajta előfeltétel)3)
Próbálja ki vizsgálat nélkül is a végrehajtástDIR szov.txt >NUL & TYPE szov.txt
itt viszont mivel csak 1 & jel van, így a második parancs is minden esetben lefut, függetlenül az első parancs kimenetétől, vagyis akkor is megpróbálja majd kiírni a szov.txt tartalmát, ha az nem is létezik
4)
btw:
cls
@echo offígy a cls látszik, akkor inkább
@echo off
clsés akkor eltűnt minden.
Üdv,
Csontikka -
Enoch
csendes tag
Sziasztok! Imapsync-et ismeri valami? Egy batch programból lehet futtani és postafiók tartalmakat lehet szinkronizálni. Van egy loop változata ahol txt fájlból szedi össze amásolni kívánt fiók adatokat.
Meg lehet adni argumentumokat, ezekkel vagyok elveszve, hogy pontosan hol adom meg.CD /D %~dp0
@REM Let's get arguments of this batch, they will be added to imapsync arguments, if any.
@REM Do not touch this part to add arguments to imapsync, do that in the FOR loop below
@SET arguments= & @SET command=%~0
@IF %1. EQU . GOTO args_end
:args_loop
@SET arguments=%arguments% %1 & @SHIFT
@IF %1. NEQ . GOTO args_loop
@ECHO Command and arguments: %command% %arguments%
:args_end
@REM Now the loop on the csv file.
SET csvfile=file.txt
@FOR /F "tokens=1,2,3,4,5,6,7 delims=; eol=#" %%G IN (%csvfile%) DO (
@REM Blank lines are usually ignored. Dumping the tokens in [] in case debugging is needed
@ECHO GOT those values from %csvfile% presented inside brackets: [%%G] [%%H] [%%I] [%%J] [%%K] [%%L] [%%M]
@REM You can add extra arguments to imapsync after the variable named %arguments%
@ECHO ==== Starting imapsync from --host1 %%G --user1 %%H to --host2 %%J --user2 %%K ====
@imapsync ^
--host1 %%G --user1 %%H --password1 %%I ^
--host2 %%J --user2 %%K --password2 %%L %%M %arguments%
--automap --useuid --nossl1 --notls1
@ECHO ==== Ended imapsync from --host1 %%G --user1 %%H to --host2 %%J --user2 %%K ====
@ECHO.
)
@ECHO Loop finished!
@ECHO Log files are in LOG_imapsync directory
@PAUSEEddig fiókoknként külün fájlt használtam rá. De egyre több fiók lenne amit másolni szeretnék és ez praktikusabb lenne. Ahol egy fájlban volt ott ezek működtek: --automap --nossl1 --notls1
.\imapsync.exe --host1 test1.lamiral.info --user1 test1 --password1 "secret1" ^
--host2 test2.lamiral.info --user2 test2 --password2 "secret2" ^
--automap --nossl1 --notls1Ezektre lenne szükségesm most is, de nem igazán tiszta, hogy hol kell megadni.
Ahol most van a kódban ott ezt a hibát adja rá: '--automap' is not recognized as an internal or external command, operable program or batch file.Előre is köszönöm a segítséget!
-
cigam
félisten
Ezt nem az arguments kéne, hogy tartalmazza?
Már csak azért is, mert ezt írja:
@REM You can add extra arguments to imapsync after the variable named %arguments%És ez a 2. sorban szerepel is
--host2 %%J --user2 %%K --password2 %%L %%M %arguments% és nincs a végén " ^"
Vagyis a te általad beszúrt sort parancsként próbája értelmezni, nem az imapsync paraméterének.
Az egészet 1 sorba kelene írni:
@imapsync --host1 %%G --user1 %%H --password1 %%I --host2 %%J --user2 %%K --password2 %%L %%M %arguments% --automap --useuid --nossl1 --notls1Csak így több sorra bontva teszik olvashatóva a kódot.
[ Szerkesztve ]
Freeware, és akciós programok egy helyen https://www.facebook.com/freewarenews
-
rongyi
aktív tag
Sziasztok!
Batch file-al szeretnék átmásolni egy PDF-et egyik könyvtárból a másikba, úgy, hogy a cél könyvtárban a másolt PDF nevében benne legyen az adott mai dátum vagy az általom tetszőlegesen kiválasztott dátum.
Példa:
E:\kutyafule\cica.pdf
D:\nyuszilab\cica_2019.06.18.pdf
vagy
D:\nyuszilab\cica_2019.06.28.pdf
Meg lehet ezt oldani egyszerű batch file segítségével?
[ Szerkesztve ]
-
cigam
félisten
Batch-ban elég körülményes, mert az adott hónap határozza meg, hogy hány napos(nem is beszélve a szökőévekről)
Általában erre van a legtöbb találat:
::================================================
:: TOMORROW.BAT - Written by Paul Tomasi (c)2010
::
:: Function to return tomorrow's date
::================================================
@echo off
set /a d=%date:~0,2%
set /a m=%date:~3,2%
set /a y=%date:~6,4%
:loop
set /a d+=1
if %d% gtr 31 (
set d=1
set /a m+=1
if %m% gtr 12 (
set m=1
set /a y+=1
)
)
xcopy /d:%m%-%d%-%y% /h /l "%~f0" "%~f0\" >nul 2>&1 || goto loop
echo %d%/%m%/%y%De ugye itt minden hónap 31 napos. Ezt elkerülendő egy ügyes trükk, hogy kiszámolod hogy a jelenlegi (Julianus) naptár szerinti hányadik nap van ma. Ahhoz hozzáadsz 1-et, és kiszámolod, hogy az melyik év hányadik haónapjának melyik napja.:
@echo off &SETLOCAL
SET "today=%date%"
ECHO(today is %today%
CALL:DateToJDN %today% todayNo
ECHO(this is day no. %todayNo%
SET /a tomorrowNo=todayNo+1
ECHO(tomorrow is day no. %tomorrowNo%
CALL:JDNToDate %tomorrowNo% tomorrow
ECHO(tomorrow is %tomorrow%
GOTO:EOF
rem Convert the date to Julian Day Number
:DateToJDN dd.mm.yyyy jdn=
setlocal
set date=%1
set /A yy=%date:~-4%, mm=1%date:~-7,2% %% 100, dd=1%date:~-10,2% %% 100
set /A a=mm-14, jdn=(1461*(yy+4800+a/12))/4+(367*(mm-2-12*(a/12)))/12-(3*((yy+4900+a/12)/100))/4+dd-32075
endlocal & set %2=%jdn%
exit /B
rem Convert Julian Day Number back to date
:JDNToDate jdn dd.mm.yyyy=
setlocal
set /A l=%1+68569,n=(4*l)/146097,l=l-(146097*n+3)/4,i=(4000*(l+1))/1461001,l=l-(1461*i)/4+31,j=(80*l)/2447,dd=l-(2447*j)/80,l=j/11,mm=j+2-(12*l),yy=100*(n-49)+i+l
if %dd% lss 10 set dd=0%dd%
if %mm% lss 10 set mm=0%mm%
endlocal & set %2=%dd%.%mm%.%yy%
exit /B
endlocalCsak itt is figyelni kell, hogy angol, vagy magyar kiosztású a dátum.
[ Szerkesztve ]
Freeware, és akciós programok egy helyen https://www.facebook.com/freewarenews
-
rongyi
aktív tag
Sziasztok újra!
Most arra keresem a választ, hogy adott egy TXT file és ebben a fileban szeretnék megkeresni és kicserélni egy adott szót, pl.: a cserélendő szó: "nyomtató", amire cserélném az pedig: "szkenner". Ezt hogy lehetne megoldani?
-
ReSeTer
senior tag
Helló!
Miért nem működik ez a batch file ha feladatütemezővel indul el? Listát készít az egész C meghajtóról, ahelyett, hogy csak a J-ről. Ha manuálisan duplakatt-al indítom el, akkor jó.
cd J:/Media
set date=_%date:~-100%
dir /s/b > C:\Users\usernevem\OneDrive\medialist\"medialist%date%txt -
rongyi
aktív tag
válasz sztanozs #927 üzenetére
Nagyon szépen köszönöm!
Esetleg még annyit megtennél, hogy leírod a teljes parancsort, mert batch-ben még nagyon kezdő vagyok
3 filet szeretnék átnevezni a következő módon:
régi file01--->mai.txt
régi file02--->holnapi.txt
régi file03--->holnaputani.txt
És az új file nevek, amiket bekér a program futtatáskor:
uj file01---->mai_2019.txt
uj file 02--->holnapi_2019.txt
uj file 03--->holnaputani_2019.txt
Előre is köszönöm!
-
sztanozs
veterán
kb fejből
@ECHO OFF
SET /P mai=Kérem a mai fájl nevét:
SET /P holnapi=Kérem a holnapi fájl nevét:
SET /P holnaputani=Kérem a holnapi fájl nevét:
cp file01 %mai%
cp file02 %holnapi%
cp file03 %olnaputani%JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Csontikka
aktív tag
(Get-Content "c:\test.txt").replace('mit', 'mire') | Set-Content "c:\test.txt_"
vagy szétszedve egy picit másképp, lehet így kicsit érthetőbb:
$path = "c:\test.txt"
$word = "mit"
$replacement = "mire"
$text = get-content $path
$newText = $text -replace $word,$replacement
$newText > $path"_"adatbekérés egy változóba:
$Test = Read-Host "Add meg a file nevet"
és utána ott használod fel ahol szeretnéd, pl:
$path = Read-Host "file eleresi utvonala"
$word = Read-Host "mit?"
$replacement = Read-Host "mire?"
$text = get-content $path
$newText = $text -replace $word,$replacement
$newText > $path"_"(mivel Powershell és nem batch ezért off topicra tettem a hsz-em.)
[ Szerkesztve ]
-
Graphics
Jómunkásember
Sziasztok, nem tudom jó helyen járok-e?
Szóval adott egy telepito.cmd fájl, amivel azt oldom meg, hogy a programok telepítése könnyebb és gyorsabb legyen, silent módba ne kelljen végigkattintani.
Megoldható esetleg az, hogy ne kérje a Rendszergazda jelszót, amikor ezt futtatom, hanem már benne tartalmazza?
Habár sejtésem szerint ez adatbiztonsági okok miatt nem lesz lehetséges.
EAGET 1TB SSD review - https://logout.hu/bejegyzes/graphics/eaget_s600_1tb-os_ssd_aliexpressrol_kihagyhatatlan.html
-
Csontikka
aktív tag
válasz Graphics #935 üzenetére
Szia!
1)
Akkor tudod ezt egy az egyben megkerülni ha kikapcsolod az UAC-ot. Ezt a felhasználói fiókok felügyelete beállításainál tudod megtenni. Ezután már egy admin jogú felhasználóval bejelentkezve kérdés nélkül le fog futni a telepítő scripted, vagy akár runas-sel is menni fog egy nem admin jogú user alól.Viszont rögtön hozzáteszem, hogy ez egyáltalán nem javasolt, ahogy te is rámutattál, nem véletlenül van ez a védelem bekapcsolva.
2)
Kerülő megoldásként ezeket a programokat nézd meg.
https://robotronic.de/runasspcEn.html
https://robotronic.de/elevateen.html
https://robotronic.de/runasroben.htmlEzekkel tudsz a script mellé illeszteni egy jelszófájlt, vagyis annak "beégetése" megoldható vele. Viszont nem minden program fut ezekből indítva megfelelően, Illetve bizonyos funkciók használatához előzetesen telepíteni / konfigurálni is kellhet a segédprogramokat, amivel lehet, hogy csak bonyolultabb és körülményesebb lesz az egész telepítési folyamat.
Üdv,
Csontikka[ Szerkesztve ]
-
Graphics
Jómunkásember
Másik kérdés, lehet nem jó helyen teszem fel, olyat hogy tudnék csinálni, hogy egy egyszerű cmd-ben helyezzem el az uninstallhoz szükséges parancsot, hogy ne kelljen végigkattintani a lépéseket?
Előre is ksözönöm
EAGET 1TB SSD review - https://logout.hu/bejegyzes/graphics/eaget_s600_1tb-os_ssd_aliexpressrol_kihagyhatatlan.html
-
mepet
addikt
Text fájl olvasás nem akar összejönni.
Sok fájlt kéne egyenként olvasni, majd a kiolvasott értéket változóba írni. A cikluson belül elintéznék mindent, amit szeretnék a változóval csinálni (a példában csak egy echo szerepel).
Az a lényeg, hogy most nem elég redirectelni (> vagy >>) a szöveget, hanem változóként kéne használnom a továbbiakban. Tudtok segíteni?@echo off
SetLocal EnableDelayedExpansion
for /f %%f in ('dir /b *.log') do (
echo %%f
REM ide kéne valami, ami beolvassa az első sort a fájlból a %var% változóba
REM %%v nem jó, %var% kell, mert a következő sorban csak egy részét használnám
echo %var:~1,4%
)
pause
EndLocal
[ Szerkesztve ]
-
mepet
addikt
Sikerült megoldani mégegy forral. A lényeg, hogy ez az istenért sem működött a foron belül:
set /p <textfájl
Pontosabban ez így rendben működött, de ha a textfájl helyére a ciklusváltozót tettem, úgy már nem.Ez lett a vége, a felkiáltójeles változó volt a trükk:
for /f %%f in ('dir /b *.log') do (
echo %%f
for /f "delims=" %%x in (%%f) do set "Var=%%x" && echo !Var:~1,4!
)
-
Graphics
Jómunkásember
Igen köszi, végül meglett a Program Files-ban az uninstall.exe, és így már sikerült megoldani az egy kattintással több program uninstall-ját, ez nekem hasznos rendszergazdaként, mert szívtam volna manuálisan vele sokat.
EAGET 1TB SSD review - https://logout.hu/bejegyzes/graphics/eaget_s600_1tb-os_ssd_aliexpressrol_kihagyhatatlan.html
-
perempe
addikt
.bat fájt írtam, de olyan könyvtárba nem tudok belépni CD paranccsal Windows7 alatt, ami szóközt és magyar betűket tartalmaz. segítsetek, kérlek!
[ Szerkesztve ]
* Brahms: 4. szimfónia *
-
perempe
addikt
közben dir/x megmutatta a rövid nevét a könyvtárnak, azzal megy.
* Brahms: 4. szimfónia *
-
Panthera
őstag
Üdv!
Valaki emlékszik arra, hogyan kell beírni DOS alatt az autoexec.bat fájlba a set path útvonalakat? Több lenne, és nem jövök rá hogyan kell elválasztani.
set path=c:\nc...
Köszönöm!
Új hozzászólás Aktív témák
- AKCIÓ Új Bontatlan 2023 MacBook Pro 16 M2 Pro 12/19 16GB/512GB Magyar billent Azonnal Átvehető Deák.
- ÚJ Független Apple iPhone 15 Pro 256GB !!! 1éV nemzetközi APPLE GARANCiA
- -50% Lenovo ThinkPad T14 Gen 3: i5 1250P (12mag/16szál!!!),16GB,512GB,TOUCH,Win 11Pro,gari 2025.9.2.
- Samsung Galaxy S24 Ultra 12/512gb, Titánszürke, 1 hetes, csak kipróbált, 3 év garanciával, eladó!
- HP ENVY x360 15-fh0755ng Convertible - ÚJ - 15,6" notebook - Ryzen 5, 16GB, 512SSD, Win11