- Huawei Watch Fit 5 Pro - jó forma
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Samsung Galaxy A52s 5G - jó S-tehetség
- Vivo X200 Pro - a kétszázát!
- Okosóra és okoskiegészítő topik
- Rég várt frissítést kap az Android tárcsázója
- Poco F8 Ultra – forrónaci
- iPhone topik
- Xiaomi 17 Ultra - jó az optikája
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
cigam
titán
válaszodat - újra - nagyon köszünöm!
/p-t használtam - mert használtam eddig mindig w7 alatt, s oké volt, pont azt tette, amit szerettem volna.
mentőprogrammal próbálkoztam, még saját gépemen, de régen.
ha tudsz vmi szépet-jót és céges felhasználásra is ingyeneset, én nagyon megköszönöm, s örömmel eljátszom vele. majd egyszer... 8( december-január nálunk tűzoltásról szól - ezért is igyekszek kb most csak a status quo antét visszaállítani...a növekményes dologgal a baj, h pendrájvunk kicsi (persze, ha 1x ráveszem magamat, nem fog fájni nagyobbat venni), a hálózati meghajtónk mérete is kötött - "ajándékba" kaptam, nehéz nagyobbat kunyerálni (pofa szempontból), a felhős mentés hasonlóan kötött.
akárhogy is, a /d-vel eljátszom, nagyon köszönöm az ötletet.
kicsit utánaolvasva másoknak is volt gondja w1x /p-vel. sok segítőkész, de zérus jó tanács volt...áhh, úgy írtam, ahogy olvastam, bocsi pl usbdlm ügyben...
bhonti: nagyon köszönöm!
és úgy általában.
elindítottatok jó irányokban!
gPl a Duplicati egy nagyon ügyes, nyílt forráskódú program. Magyar nyelvű videó
-
cigam
titán
nagyon köszönöm válaszodat!
kísérleteztem - és soronként működik a dolog - az örök kérdés, h egyben is teszi-e. möglássuk 8).
a másik csöppet nehezebben emészthető.
a pendrive-ot és hálózati meghajtót csak a másolás kezdete előtt mountolom, és utána unmountolom.net use y: \\izebize /persistent:no
mountvol z: \\?\bizeizemajd:
net use y: /delete
mountvol z: /pa hálózati meghajtóval semmi gond.
de a pendrive kb eltűnik.
windows nem látja többet wincom nem látja többet.
nem lesz mountolható parancssorban, sem disk managementben (lemezkezelés?) sem.
az egyetlen, ami segít rajta, fizikailag kitépni, s másik likba rakni.
de onnantól persze visszatér a fenti probléma...ok, sírni fogok... nem witzezek - 20-30 percet töltöttem azzal, h megtaláljam az administrative tools/computer management/disk management (ősmagyarul: lemezkezelés) részleget, mert akartam képernyőmentést gyártani neked.
egyszer már sikerült - most nem... 8(
akárhogy is, kénytelen leszel elhinni: ott sem lehet semmit sem csinálni a meghajtóval.
az egyetlen, ami működik - kicibálni, s újra bérakni...g
Mert a /p-vel távolítod el. Ez a paraméter eltávolítja a kötet csatlakozási pontját a megadott könyvtárból, leválasztja az alapkötetet, és offline állapotba helyezi az alapkötetet, így az nem csatlakoztatható. Ha más folyamatok használják a kötetet, a mountvol bezár minden nyitott kezelőt, mielőtt leválasztaná a kötetet.
Inkább a /d paramétert használd az eltávolításra.
- leválasztja a meghajtót
- felszabadítja a betűjelet
- nem törli az eszköz driverét
- nem távolítja el a hardvert
- nem végleges, tehát ha újra bedugod, visszajön
Pont úgy működik, mint egy „soft unmount”.Nem gondoltál még mentőprogram használatára? Automatice lementi amit kell, tud növekményes mentést, x nap után újrakezdi egy teljes mentéssel. Sok program képes figyelni az USB portot. Ha a megfelelő eszközt dugod rá, automatice lementi rá amit lekell, és amikor végzett akár le is választja.
Esetleg az USBDLM is segíthet. A pendrive bedugásakor felcsatolja Z:-nek, és elindítja a mentést végző Batch fájlt, amiben kihagyhatod az USB csatolást/leválasztást, és mikor végzett, lecsatolja a pendrive-ot.Ja, és W11 alatt jobblikk a startmenün (Windows logó) és egyből ott lesz a "Lemezkezelés" menüpont..
-
cigam
titán
kedves kollegák, remélem, jár errel valaki.
fontos lenne.gyógyszertári gépről van szó - nem csak nekem, mint bossnak fontos.
rendszegazdáink nem sok segítséget adnak, szóval az évek folytán én kalapáltam össze vmiféle mentést.
nem vagyok batch-varázsló, de eddig sikerült összelopnom, ami kellett.
sajnos w7-ről w11-re kellett váltanunk - s nem működnek dolgok.a háttér: lefut egy exe, ami csinál egy új mentést a napi növekményekről.
(plusz elmentem a böngésző és a banki progi anyagait)
mivel hiába javasoltam a 7z-t, még mindig zip-be tömörítenek, én áttömöríttetem 7z lzma2 mx2-be (~65 méret). ez azért fontos, mert mentünk 1. pendrive-ra, 2. hálózati meghajtóra, 3. felhőbe - időben még így is megéri.újra, buti vagyok batch programozásban, s kb mindent loptam, de eddig működtek dolgok.
de pl ez pl, töröni mindent, mínusz az utolsó 7 napot - ez nem működik.
"
forfiles /p "d:\mybackup\7z" /d -7 /c "cmd /c del @file"
"van egy másik bajom,az egy mésik post lesz.
Jó lett volna egy fotó, vagy kimásolni a futás közbeni üzeneteket, mert ha nem működik jól, menet közben biztosan paranaszkodik valamire.
Pl. a fájlnévben van szóköz? Mert akkor
forfiles /p "d:\mybackup\7z" /d -7 /c "cmd /c del \"@file\""
vagy PowerShell-ben:
Get-ChildItem "d:\mybackup\7z" -File | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-7) } | Remove-Item -
cigam
titán
-
cigam
titán
Mert a 0-val kezdodo szamokat (ha nincs benne 8 vagy 9) akkor az atoi c fuggveny octal-nak erelmezi, ha automata ertelmezesre van allitva (base=0):
The default is decimal, but you can specify octal 8, hexadecimal 16, or decimal 10. If 0 is the base, the string will be parsed as a hexadecimal if it has a leading 0x and as an octal if it has a leading 0. Otherwise, it will be treated as a decimal.Aha, köszi!
Nem is lehet megadni, hogy mindenképpen adott számrendszerként értelmezze? -
cigam
titán
-
cigam
titán
-
cigam
titán
Sziasztok!
Az alábbi számlálót hogy lehetne rávenni, hogy a 10-nél kisebb számokat is két számjeggyel írja ki? Tehát: 01, 02, 03...? Nyilván egy lehetséges megoldás, hogy megvizsgálom kisebb-e 10-nél, ha igen, eléírok egy 0-át, de biztosan lehetne egyszerűbben/szebben is.
@echo offset counter=0:loopset /a counter=counter+1echo %counter%if not %counter% == 20 goto :loopPedig ennél egyszerűbb nem nagyon van. Batch-ban nincs formázási lehetőség, hogy megadd hány karakteren írja ki, hány tizedesig. Viszont hozzáadhatsz nullákat, és csak az utós 2 karaktert mutatod meg:
@echo offset counter=0:loopset /a counter=counter+1set number=0%counter%set number=%number:~-2%echo %number%if not %counter% == 20 goto :loop -
cigam
titán
-
cigam
titán
-
cigam
titán
Ma azt hittem, hogy felrugom a windowst újra.
Kb 2hete szívok azzal, hogy ugyanaz a script 1 gépen a 8 ból nem fut le.
És folyamatosan az egyik net use-sal van gondja.
Hibaüzenet a klasszik: system error 87 the parameter is incorrect.
A mountolásos részt átrakva egy másik batch file-ba szépen lefut, kézzel lefut, eredeti batchfile-ból nem fut le.
Az az van amikor lefut ha egy net use /d -vel inditok akkor egy darabig jó. Teljes képzavar.
A poén, hogy a 2 mountolásból mindig csak egy kapcsolattal van gondja. Hiába cseréltem fel akkor is ugyanazzal az eléréssel volt gondja.
Amit kiderítettem, hogy előzőleg valaki fixen betűjelhez rendelte, de ki is törölte.
Ez még a registry-ben benne volt. Kitöröltem, de a helyzet nem lett jobb.Majd kínomban fogtam és a script legelejére tettem és most jó.

Mi a windows-os bánat baja lehet? Hívjak hozzá ördögűzőt?Névvel, vagy ip-vel hivatkozol a szerverre? Nem lehet, hogy a névfeloldás bizonytalankodik?
-
cigam
titán
Ha ezt a parancsot futtatom parancssorból, akkor szépen végre is hajtódik, minden probléma nélkül.
for %f in (*.webp) do magick -quality 95 "%~f" "%~nf.jpg"Ha viszont beleteszem egy batch file-ba, akkor az alábbi hibaüzenetet kapom:
The following usage of the path operator in batch-parametersubstitution is invalid: %~nf.jpg"
For valid formats type CALL /? or FOR /?The syntax of the command is incorrect.Mi lehet a probléma (és a megoldás)!?

A Batch fájlban egy % helyett (mindenhol?) kettő%% kel -» "%%~nf.jpg"
-
cigam
titán
-
cigam
titán
Köszönöm a programot, és az oldalt!
Így meg bírtam írni magamnak, kis "szépséghibával". Space nélküli fileokat kezel csak.
Erre még nem jöttem rá, hogy mi a megoldás. Sajna a "valami file.mobi" vagy 'valami file.mobi' nem működik.
Ez van. 
Amiben szóköz van, azt a fájlnevet idézőjelbe kell tenni, amiben nincs, annak meg mindegy. Szóval a fájlneveket tedd idézőjelbe.
ebook-convert "%1" %fn%".epub" -
cigam
titán
Azt sejtettem hogy nem ilyen egyszerű

A tutorialspoint elég jó kiinduló pont.
@echo off
if "%1"=="" goto :hiba
set fajlnev=%~n1
set kiterjesztes=%~x1
if kiterjeztes=="pdf" (start "ebook-convert %1 fajlnev+".epub" "--no-image" "--unwrap-factor=0.1")
exit
:hiba
echo "Nincs megadva paraméter"Szinte biztos nem működik, de kb ilyen lenne batch-ben.
-
cigam
titán
Nagy segítség kellene. Még Linux alatt írtam pár shell script-et, amit most szeretnék átültetni batch-re.
Itt egy egyszerű ebook konvertálás bash scripte.
Eslőnek a paraméter vizsgálata van. Ha nincs paraméter megadva, akkor visszaadja a "Parameters required!" üzenetet.
Utána a pramétert "lebontom", hogy ki tudjam belőle nyerni a kiterjesztést. Ha ez PDF (átkonvertálva nagyra, tehát mindegy, hogy az ebook.pdf vagy ebook.PDF van megadva), akkor egy másik parancsot hajt végre és kilép. Ha nem PDF, akkor a ismét egy másik parancsot hajtja végre. Az ebook-convert-nek át kell adni a konvertált file nevét, és a konvertálandó file nevét kiterjesztéssel együtt, mert abból állapítja meg, hogy mire kell kovertálni.
Tehát az egész script lényege, hogy megadom pl. econv.sc ebook.mobi, akkor végrehajtódik az
ebook-convert ebook.mobi ebook.epubparancs. Ha azeconv.sc ebook.pdfparancsot adom meg, akkorebook-convert ebook.pdf ebook.epub --no-image --unwrap-factor=0.1parancs hajtódik végre.Az ebook-convert parancssori program az ingyenes Calibre program része.
Tud valaki segíteni át-/megírni?!

Jó lenne esetleg valami doksi is (példákkal), hogy tanuljak, és magam is meg tudjam írni a többi scriptemet (nem nagy dolgok, hasonlóak mint ez).

Előre is köszönöm!

@echo off IF "%#%" "-eq" "0" ( echo "Parameters required!" exit "1" ) SET book=%~1 SET %~1bookext=%book% SET %~1%book%bext=%bookext% IF "%bext%" "=" "PDF" ( ebook-convert "%~1" "%1%.*%.epub" "--no-image" "--unwrap-factor=0.1" exit "1" ) ebook-convert "%~1" "%1%.*%.epub"
-
cigam
titán
A kutya---555.jpg a %1 paraméter, igazából még a mappaútvonal is benn van. d:\kutya---555.jpg
1. MEGOLDÁS:
SET fileName=%~n1
//fileName --> kutya---555 csak a név lesz kiterjesztés nélkülFOR /f "tokens=2 delims=---" %%i in ("%fileName%") do (set number=%%i)
//a delimiternél több részre bontja és visszaadja a másodikat.2. MEGOLDÁS:
SET fileName=%1SET number=%fileName:*---=%
//number változó 555.jpg leszSET number=%number:.jpg=%
//a .jpg-t is levágja number-->5553. MEGOLDÁS:
SET fileName=%~n1SET number=%fileName:*---=%
//number változó 555 leszKöszi!
-
cigam
titán
-
cigam
titán
-
cigam
titán
cd Sample
for /d /R %%D in (*) do move %%~nxD/*.aac ../../../ -
cigam
titán
Hát tedd be egy for ciklusba, ami sorra veszi az audio_a* könyvtárakat.
Plusz ha az egészet becsomagolod egy tömörített fájlba, és kicsomagoláskor kikapcsolod a könyvtárstruktúra figyelembevételét/létrehozását. -
cigam
titán
A move *.aac ../../../ miért nem jó?
-
cigam
titán
Helló! Elakadtam az
if elseparancsoknál. Kezdő vagyok még.
Van egy menüm a felhasználónak 1- 10 ig választani kell valamit. Ha jó számot nyom le, akkor egy ilyen fut leIF %M%==6 GOTO W3. Ebből van 10 parancsom és jól működik. Most az szeretném elérni, ha rossz számot nyom le az user akkor azt írja ki. Ide gondolom valami ilyesmi kelleneelse echo rosszat nyomtálde azt a 10 dbifállítást , hogy fűzzem egybe?Látni kéne a kódot, de ha egymás után, és nem egymásba ágyazva vannak, akkor elég Az if-ek végére írnod pl.
IF %M%==6 GOTO W3IF %M%==7 GOTO W4IF ....echo "Hiba történt"goto billentyűfigyelés -
cigam
titán
Sziasztok!
Gondoltam felrakom a win 10-es gépemre az egyik régi nagy kedvenc verekedős játékomat, az MK Trilogy-t.
A játék indítható, fut rendesen, meg minden, csak sajnos gyárilag olyan a pc port hogy nem lehet bezárni a játékot. Csak úgy ha a feladatkezelőt behozom a ctrl+alt+del-el és a futó programok közt megkeresem, és ott leállítom.
A kérdésem az lenne hogy lehet írni olyan batch file-t amivel indítva a játékot a háttérben marad, és egy megadott billentyű kombinációra pl.: Alt+F4 vagy Alt+X bezárja a játékot, a bat ablak meg automatikusan bezáródik?Esetleg:
start program.exe
pause
taskkill /F /IM program.exe -
cigam
titán
mi van olyankor ha a txt-be nem 4 szám van hanem 6?
01:42:25
(változó hogy 4 vagy 6 kerül a txt-be csak mivel eddig sorozatokkal teszteltem a film-ek hosszára nem gondoltam)próbálkoztam ezzel
%%G%%H%%I{enter}
de olyankor csak hozzáírta a%I-t0142%I{enter}for /f "tokens=1,2 delims=:" %%G IN (time.txt) do (echo %%G%%H%%I{enter} & echo.) >load-pos.stroAz eredeti kérdésed szerint
csak ez van a txt-ben
11:25
Csak 2 számjegy :-al elválasztva. Ha 3 (01:42:25), akkor atokens=1,2,3így az első 3 találatot adja vissza, ahol már kap értéket a %%I is.Ezt az enter dolgot sem értem. Az echo eleve tesz egy kocsi vissza új sor (CRLF) jelzést, akárcsak az echo. Tippem szerint egy programnak nem tudod így szimulálni az ENTER gomb lenyomását.
-
cigam
titán
Sziasztok!
egy time.txt fájlból szeretnék kiolvastatni számokat
csak ez van a txt-ben11:25
elvéve a kettőspontot majd hozzáírni ezt {enter} és elementeni load.stro fájlként
1125{enter}a kettőspont éltüntetéséhez a jrepl-t használtam
ami el is végzi a feladatát de egyből be is zárja a cmd-ot
és a script többi része nem fut le@echo offdocker run -it screenbreak/singlefile-dockerized http://kodi:kodi@192.168.1.10:8080 > log.htmlxidel -s log.html -e "<div class='playing-time-current'>{inner-html()}</div>" > time.txtstart /B "" jrepl ":" "" /f "time.txt" /o -type time.txt > load.strostart /B "" jrepl ":" "" /f "load.stro" /o -exita
start /B ""- t azért kellett használnom hogy lefusson végig a script egy ablakban
így lefut minden de nem zárja be az ablakot
jrepl-t mivel tudnám helyettesíteni ami még pluszban hogy elvenné a kettőspontot
ezt is hozzáírná {enter}?
köszi előre is!
feltettem drive-ra aki úgy esetleg jobban átlátná
(a docker-es parancs nem fontos mivel azt már a log.html tartalmazza)Miért nem jó, ha csak szétszabdalod:
for /f "tokens=1,2 delims=:" %%G IN (time.txt) do (echo %%G%%H & echo.) >load.stro -
cigam
titán
Sziasztok!
Valahogy meg lehet oldani, hogy ezt a szöveget 1:1-ben egy text fájlba írjam batch-ből?
<application id="0123">
próbáltam már feldarabolni, változóként rögzíteni a darabjait, vagy egyben, de a legjobb eredmény is annyi, hogy idézőjel közé pakolja, ami nem lesz jó a további feldolgozás miatt.
Köszönöm!
echo offset "line=<application id="0123">"setlocal EnableDelayedExpansion(echo !line!echo !line!>line.txt) -
cigam
titán
Hello,
Ezt meg lehet úgy csinálni, hogy normálisan legyenek ékezetek, vagy szedjem ki simán "á->a" stb...
@echo off
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "cmd.exe", "/C """"%~f0""""", , "runas", 1 >> "%temp%\getadmin.vbs"
cscript "%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
color 0e
chcp 1250
cls
:start
echo.
ECHO -------------------------------------------------------------------------------
echo. Run Programs Script by Hedo
ECHO -------------------------------------------------------------------------------
echo 0. Programok és szolgáltatások
echo 1. Felügyeleti eszközök
echo 2. Fájlkezelő beállításai
echo 3. Számítógép-kezelés
echo 4. Helyicsoportházirend-szerkesztő
echo 5. Helyi biztonsági házirend
echo 6. Helyi felhasználók és csoportok
echo 7. Szolgáltatások
echo 8. Rendszerkonfiguráció
echo 9. Exit.
echo.
echo.
set /p x=Use Number:
IF '%x%' == '%x%' GOTO Item_%x%
:Item_0
cls
echo.
echo Programok és szolgáltatások
echo.
appwiz.cpl
pause
GOTO Item_99
:Item_1
cls
echo.
echo Felügyeleti eszközök
echo.
control admintools
pause
GOTO Item_99
:Item_2
cls
echo.
echo Fájlkezelő beállításai
echo.
control folders
pause
GOTO Item_99
:Item_3
cls
echo.
echo Számítógép-kezelés
echo.
compmgmt.msc
pause
GOTO Item_99
:Item_4
cls
echo.
echo Helyicsoportházirend-szerkesztő
echo.
gpedit.msc
pause
GOTO Item_99
:Item_5
cls
echo.
echo Helyi biztonsági házirend
echo.
secpol.msc
pause
GOTO Item_99
:Item_6
cls
echo.
echo Helyi felhasználók és csoportok
echo.
lusrmgr.msc
pause
GOTO Item_99
:Item_7
cls
echo.
echo Szolgáltatások
echo.
services.msc
pause
GOTO Item_99
:Item_8
cls
echo.
echo Rendszerkonfiguráció
echo.
msconfig
pause
GOTO Item_99
:Item_9
exit
:Item_99
cls
GOTO Startaz elejére írd be:
chcp 65001 > nul
Ez átkapcsol UTF-8-ra, így bármilyen karaktert meg tud jeleníteni. -
cigam
titán
Esetleg még annyit tudnál segíteni, hogy sok fájl esetén hogyan tudnám alkalmazni? pl egy mappa 100 ilyen fájl mentés másként nél.
1 fájlal most így néz ki :InputFile = "C:\Users\Fel\Desktop\fajl.xlsx"
SheetName = "Munka1"
OutputFile = "C:\Users\Fel\Desktop\fajluj"
Ext = "44"
Set objExcel = CreateObject("Excel.application")
objExcel.application.visible=false
objExcel.application.displayalerts=false
set objExcelBook = objExcel.Workbooks.Open(InputFile)
objExcel.Sheets(SheetName).Select
objExcelBook.SaveAs OutputFile, Ext
objExcel.Application.Quit
objExcel.QuitKöszi!
Nincs elöttem Windows, nem tudom kisakkozni, de valami ilyesmi:Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = "C:\Folder1\"
Set objFolder = objFSO.GetFolder(objStartFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
strFileName = objFile.Name
If objFSO.GetExtensionName(strFileName) = "xls" Then
InputFile = strFileName
SheetName = "Munka1"
OutputFile = "C:\Folder2\"&InputFilename
Ext = "44"
Set objExcel = CreateObject("Excel.application")
objExcel.application.visible=false
objExcel.application.displayalerts=false
set objExcelBook = objExcel.Workbooks.Open(InputFile)
objExcel.Sheets(SheetName).Select
objExcelBook.SaveAs OutputFile, Ext
objExcel.Application.Quit
objExcel.Quit
End If
Next -
cigam
titán
-
cigam
titán
Igen, automatikusan lefuttatja, egyiket a másik után. Dolgod maximum akkor van, ha a kiadott parancs kérdez valamit.
-
cigam
titán
Igen, ha
- a note alatt a notepad-ot érted (mezei txt fájlnak kell lennie)
- nem .batch csak .bat a kiterjesztések általában 4 karakter hosszúak, és .-al kezdődnek. Az operációs rendszer ebből tudja mit kezdjen a fájlal, melyik programmal nyissa meg. -
cigam
titán
-
cigam
titán
-
cigam
titán
A kódot is mutatja, de továbbra sem válaszoltál a path kérdésre. Miért?
Plusz látszólag nem
DIR C:\ > C:\TEMP\C_MAPS.TXT
van a kódodban, hanem
DIR C:\ 1> C:\TEMP\C_MAPS.TXTHa a kód elejére még beszúrod a
@ECHO OFF
sort, akkor látni fogod, hogy csak azt írta ki, hogy
A parancs sikeresen lefutott -
cigam
titán
Mindkettőt nem írhatja ki. Nem a programkóddal kevered? Amíg nem működik tökéletesen jó ha látod mikor mi történik. A végén kapcsold ki, amikor már minden oké.
Másold be ide a konzolt, az indítástop egészen addig amíg visszakapod a promptot. -
cigam
titán
Cégnél maradt a laptopom, macOS alatt nem tudom kipróbálni

rem Miért írod át a path változót?
PATH C:\
rem Lefut a listázás
DIR C:\ > C:\TEMP\C_MAPS.TXT
rem A dir parancs visszatérési kódjától függően mást ír ki.
IF %ERRORLEVEL% EQU 0 (Echo A parancs sikeresen lefutott) ELSE (Echo Hiba tortent)Ha nem jön jobb válasz, holnap este megnézem (ha el nem felejtem).
-
cigam
titán
-
cigam
titán
Sziasztok!
Van egy programom, ami kilistázza a C: meghajtó tartalmát majd kimenti egy szövegfileba a c :\TEMP\C_MAPS.txt file-ba.
Ezt kellene kiegészíteni, hogy maga a művelet ugye ne látsszon a parancssori ablakban (ugye @echo off) csak a sikerességről vagy sikertelenségről adjon egy üzenetet a parancssorba a futás után mondjuk "A művelet sikeresen megtörtént." szöveggel.
maga az alap ugye ez:
@ECHO OFF
PATH C:\
DIR C:\ > C:\TEMP\C_MAPS.TXT
@ECHO ONHogy lehettne?
próbáltam így is:
@ECHO OFF
PATH C:\
DIR C:\ > C:\TEMP\C_MAPS.TXT
@ECHO ON
IF %ERRORLEVEL% NEQ 0 (
A másolás sikeresen megtörtént!
)
IF %ERRORLEVEL% NEQ 2 (
A létrehozás nem sikerült!
)
IF %ERRORLEVEL% NEQ 3 (
A létrehozás nem sikerült!
)
IF %ERRORLEVEL% NEQ 5 (
A létrehozás nem sikerült! Hozzáférés megtagadva!
)De nem működik.
Nem lehet hogy az echo sikerességét vizsgálod?
-
cigam
titán
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.
-
cigam
titán
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!
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.
-
cigam
titán
-
cigam
titán
-
cigam
titán
WMI lekérdezésből indulj ki, ne a date/time parancsokból
@echo off
rem Get the time from WMI - at least that's a format we can work with
set X=
for /f "skip=1 delims=" %%x in ('wmic os get localdatetime') do if not defined X set X=%%x
echo.%X%
rem dissect into parts
set DATE.YEAR=%X:~0,4%
set DATE.MONTH=%X:~4,2%
set DATE.DAY=%X:~6,2%
set DATE.HOUR=%X:~8,2%
set DATE.MINUTE=%X:~10,2%
set DATE.SECOND=%X:~12,2%
set DATE.FRACTIONS=%X:~15,6%
set DATE.OFFSET=%X:~21,4%
echo %DATE.YEAR%-%DATE.MONTH%-%DATE.DAY% %DATE.HOUR%:%DATE.MINUTE%:%DATE.SECOND%.%DATE.FRACTIONS%Köszi!
-
cigam
titán
Létezik valami univerzális megoldás a dátum/idő kezelésre? Ahány Windows annyiféle formátum, és a nyelvi verziók sem egyszerűsítik a megoldást.
rem W10.hun
set ev=%date:~0,4%
set honap=%date:~6,2%
set nap=%date:~10,2%
set ora=%time:~0,2%
if "%ora:~0,1%"==" " set ora=0%ora:~1,1%
set perc=%time:~3,2%
set nev=%ev%-%honap%-%nap%_%ora%%perc%.jpgEzt hogyan tudnám univerzálissá tenni?
-
cigam
titán
Ha magyar nyelvű az oprendszer, akkor a set today sor helyesen
set today=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%Ha tized és század másodpercet is akarsz, akkor
set today=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%Ha angol nyelvű az oprendszer akkor házifeladat az alábbi szabály figyelembevételével
%date:~a_kimetszendő_string_kezdőpozíciója_nullával_kezdve_a_számlálást,a_kimetszendő_string_hossza%
W10-nél kicsit odébb csúsztak.
Ez tuti működik(magyar W10 alatt), most próbáltam ki.
set forras=C:\users\szeke\Dokumentumok\batch
set cel=C:\users\szeke\Dokumentumok\batch\teszt
set fajl=teszt.zip
set datum=%date:~0,4%-%date:~6,2%-%date:~10,2%__%time:~0,2%%time:~3,2%%time:~6,2%
if exist %cel%\%fajl% (ren %cel%\%fajl% "%datum%-%fajl%")
copy %forras%\%fajl% %cel%\%fajl% /-y -
cigam
titán
Nem bonyolítod ezt túl? Miután a másolás kimenetében van "overwrite", mégegyszer lecsekkolod, hogy létezik-e? Miért másolod, mikor átnevezésről volt szó?
set source="C:\innen\"
set target="C:\innen\ide\"
set file="ezt.7z"
set today=%date:~10,4%%date:~4,2%%date:~7,2%
if exist %target%\%file% (ren %target%\%file% %target%\%today%-%target%)
xcopy /l /d %source%\%file% %target%\%file%Vagy valami ilyesmi. (OS X alatt nem tudom tesztelni)
Hopsz a target/source végére nem kel \ jel, különben kétszer teszi oda, mert a ren és xcopy paraméterébe is beleírtam ahogy az átnevezés végét is. namég1x:
set source="C:\innen"
set target="C:\innen\ide"
set file="ezt.7z"
set today=%date:~10,4%%date:~4,2%%date:~7,2%
if exist %target%\%file% (ren %target%\%file% %target%\%today%-%file%)
xcopy /l /d %source%\%file% %target%\%file%Bár így a régi fájlnév kapja meg az új mentés dátumát.
-
cigam
titán
Sziasztok! Segítségetekre lenne szükségem, kezdek kissé megbolondulni

Szeretnék csinálni egy .bat filet, ami egy adott könyvtárból átmásol egy filet egy másik könyvtárba, de mielőtt ezt megtenné, a célkönyvtárban szereplő ugyan olyan nevű filet elnevezze mondjuk a mai dátumra, és csak utána másolja be a filet, így kikerülve azt, hogy felülírkálják egymást. Az eredmény az lesz, hogy egymás mellé szépen más-más nevekkel pakolgatja le azt az 1 filet amit többször szeretnék backupolni.
Találtam egy kódot a neten ami valahogy így néz ki:
@echo off
set source="C:\innen\ezt.7z"
set target="C:\innen\ide\ezt.7z"
set today=%date:~10,4%%date:~4,2%%date:~7,2%
for /f "tokens=* delims=" %%i in ('echo all ^| xcopy /l /d %source% %target% ^| find /v /i "overwrite"') do (
if exist %target%\%%~nxi copy %target%\%%~nxi %target%\%%~ni-%today%%%~xi
)
echo all | xcopy /d %source% %target% > nula probléma a következő: a másolást megcsinálja, de csak egyszer, és nem nem nevezi át a célkönyvátrban szereplő filet.
Valaki tudna segíteni ebben?
Nem bonyolítod ezt túl? Miután a másolás kimenetében van "overwrite", mégegyszer lecsekkolod, hogy létezik-e? Miért másolod, mikor átnevezésről volt szó?
set source="C:\innen\"
set target="C:\innen\ide\"
set file="ezt.7z"
set today=%date:~10,4%%date:~4,2%%date:~7,2%
if exist %target%\%file% (ren %target%\%file% %target%\%today%-%target%)
xcopy /l /d %source%\%file% %target%\%file%Vagy valami ilyesmi. (OS X alatt nem tudom tesztelni)
-
cigam
titán
-
cigam
titán
Kicsit konkrétabban? Pontosan mit szeretnél "eltekerni"?
Pl.ECHO OFF
set PORT=8081
set RULE_NAME="Open Port %PORT%"
netsh advfirewall firewall show rule name=%RULE_NAME% >nul
if not ERRORLEVEL 1 (
rem Rule %RULE_NAME% already exists.
echo Hey, you already got a out rule by that name, you cannot put another one in!
) else (
echo Rule %RULE_NAME% does not exist. Creating...
netsh advfirewall firewall add rule name=%RULE_NAME% dir=in action=allow protocol=TCP localport=%PORT%
) -
cigam
titán
for /F "tokens=3 delims=: " %%H in ('sc query "MyServiceName" ^| findstr " STATE"') do (
if /I "%%H" NEQ "RUNNING" (
REM Put your code you want to execute here
REM For example, the following line
net start "MyServiceName"
)
) -
cigam
titán
Ez a kód #817 nem működik, helyette ez készült, végfelhasználónál kipróbáltan
@ECHO OFF
CLS
:LOOP
SETLOCAL ENABLEDELAYEDEXPANSION
SET STAMPTIME="%DATE% %TIME%"
SET STAMPTIME=%STAMPTIME:~0,18%"
TIMEOUT /T 120 /NOBREAK
FOR /R "Drive:\Path" %%A IN (*.PDF) DO (
IF %STAMPTIME% LEQ "%%~tA" CALL :ERTESITES "%%A" "%%~tA"
)
ENDLOCAL ENABLEDELAYEDEXPANSION
GOTO :LOOP
:ERTESITES
SETLOCAL
SET MSG="tempmsg.vbs"
ECHO MsgBox "Pdf erkezett: %~1", vbSystemModal Or vbExclamation, "Pdf erkezett" >%MSG%
WSCRIPT.EXE /I %MSG%
DEL %MSG% >NUL
GOTO :EOFNem terheli be nagyon a végtelen ciklus? Nem lenne elég csak 30-60mp-enként lefuttatni?
-
cigam
titán
Sziasztok!
Egy kis segítséget szeretnék kérni. Egy batch fájlt szeretnék készíteni amivel időközönként az Outlook adatfájljait átmásolom egy hálózati gép megosztott könyvtárába. De valamiért az Outlook mappájával nem működik. A hálózati meghajtón létrehozza a könyvtárat, de a másolás nem fut le. D:-ről másol.
Tudnátok segíteni, hogy mi lehet a gond. Előre is köszönöm!for /f "tokens=1 delims=. " %%a in ('date /t') do set yyyy=%%a
for /f "tokens=2 delims=. " %%a in ('date /t') do set mm=%%a
for /f "tokens=3 delims=. " %%a in ('date /t') do set dd=%%a
set folderdate=%yyyy%.%mm%.%dd%
net use x: \\NAS\Iroda
md "x:\Gabor\backup\%folderdate%\Outlook\"
xcopy C:\Users\Gábor\AppData\Local\Microsoft\Outlook x:\Gabor\backup\%folderdate%\Outlook\ /e /h /r /y /k /c
net use x: /deleteAz á betű összezavarja, tedd idézőjelbe.
xcopy "C:\Users\Gábor\AppData\Local\Microsoft\Outlook" x:\Gabor\backup\%folderdate%\Outlook\ /e /h /r /y /k /c -
cigam
titán
Dr.Batcher Business Edition
6 napig ingyenes.
A Dr.Batcher egy olyan segédprogram, amely segít létrehozni és szerkeszteni kötegelt fájlokat (BAT és CMD fájlokat) gyorsan és egyszerűen. Ez a ma elérhető legerősebb és legegyszerűbb szerkesztő. A Dr.Batcher célja, hogy mind a kezdő, mind a haladó felhasználók számára könnyen használható legyen. Két különböző módban működhet: egyszerű és professzionális. Az első módban vizuális szerkesztő és varázslók segítségével hozhatod létre a kódot. A második mód egy profi script szerkesztő buborék súgóval, szintakszis kiemelővel és könyvjelzőkkel. Bármikor átkapcsolhatsz az egyszerű és professzionális mód között, amikor erre szükséged van. Tartalmaz egy varázslót, amivel a batch kódot futtatható programmá alakíthatod EXE, és létrehozhatsz biztonsági másolatot a parancsfájljaidról. Az így létrehozott biztonsági másolatot betömöríti (ZIP, CAB), amit kicsomagolva helyreállíthatod a munkád. -
cigam
titán
Ez így a my computernek hoz létre névtelen shortcutot az asztalra (ott van a .vbs is)... Hirtelen ötlettől vezérelve kitörölgettem a Wscript.Arguments.Named előfordulásit s így már alakul de megint az a helyzet mint az előbb... létrehozza a shc-t a megfelelő helyen de amikor rákattintok azt írja hogy az eredeti fájl nem található
Mac elött ücsörgök, nem tudom kipróbálni, de ez a videó tuti segít.
Ha kitörlöd azt, hogy mire mutasson a shortcut, naná, hogy nem mutat sehova.
-
cigam
titán
De akkor ehhez létre kell, hoznom a shortcutot előbb s aztán ezzel másolom? Vagy rosszul értem?
A kettőből kell 1et faragni, vhogy így:
set WshShell = WScript.CreateObject("WScript.Shell" )
strUserProfile = WshShell.ExpandEnvironmentStrings("%USERPROFILE%")
set oShellLink = WshShell.CreateShortcut(Wscript.Arguments.Named(strUserProfile & "\Start Menu\Programs\Startup\a.tx") & ".lnk")
oShellLink.TargetPath = Wscript.Arguments.Named("a.txt")
oShellLink.WindowStyle = 1
oShellLink.Save -
cigam
titán
Na ez már majdnem sikerült

1. Ezt meg lehet oldani, úgyis, hogy csak maga a vbs legyen? Bemásoltam az argumentumos dolgok helyére az elérési útvonalat amire az hibát adott ki miszerint nem menthető a shortcut... Ebből arra következtetek, hogy ezt %userprofile% a vbs ben nem használhatom.
2. Ekkor írtam egy rövid kis batch fájltcscript copy_sch.vbs /target:"a.txt" /shortcut:"%userprofile%\Start Menu\Programs\Startup\a.txt"
Ez elsőre működött (Akkor ugyan abba a mappába másoltam, viszont most ha meg akarom nyitni a shortcutot akkor azt a hibaüzenetet kapom, hogy az eredeti fájl hiányzik
Dim fso, wshShell, strUserProfile
Set fso = CreateObject("Scripting.FileSystemObject")
Set wshShell = CreateObject("WScript.Shell")'ezz a lényege, itt kéri le a felhasználói profil elérési útját
strUserProfile = wshShell.ExpandEnvironmentStrings("%USERPROFILE%")fso.CopyFile "c:\innen\masolom\program.lnk", strUserProfile
-
cigam
titán
Sziasztok, olyan kódra lenne szükségem ami átmásolja egy fájl shortcutját a startup folderbe.. Ezt a kódot találtam:
mklink "%userprofile%\Start Menu\Programs\Startup\%~nx0" "%~f0"
Ezzel két gondom van...1. Ha jól értem amit a konzolra kiír akkor ez magának a bat fájlnak a shortcutját másolja...azt sejtem, hogy ezt %~f0 átírhatom másik fájlnévre, de ehelyett %~nx0 mit írhatok? Valami random név itt is megteszi?
2. (Ez a nagyobb) Ha futtatom, akkor a konzol közli velem, hogy nincs jogom ehhez... És erre nem igazán találok megoldást.
Mert az mklink nem shorcut-ot hoz létre egy programról, hanem szimbolikus hivatkozást. A kettő nem ugyanaz.
Viszont egy kis vbs scriptel megoldható. -
cigam
titán
rem 2. program inditasa
firefox.exe
rem amíg fut a firefox, nem indul el a notepad(2a. varakozas a 2. vegere)
notepad.exeVagy ha úgy tetszik, akkor a második program is egy bat:
start /wait b.exe
call c.bat -
cigam
titán
-
cigam
titán
Hátha vki nem ismeri: B2E
BAT parancsállományok konvertálása EXE formátumba. A bat állományok némileg eltérnek a normál bat állományoktól: lehet vele láthatatlan alkalmazásokat késziteni; tartalmazhatnak adatokat a bináris állományokról, ikonokat, valamint verzió információkat is. 32 bites és 64 bites állományokat is lehet létrehozni vele.
Egész jó játék. -
cigam
titán
Üdv!
Azt szeretném megoldani, hogy batch fájl pingeljen pár szájtot, majd az egészet kimentse egy txt-be, aminek a fájlneve tartalmazza az időpontot.
Sajnos már ott megakadtam, hogy a fájlnevet dátummal lássa el.
Az megvan, hogy ha utána írom, hogy >file.txt akkor a parancs outputot menti, de ennyire jutottam, több parancsnál felülírja az előző ping outputját.
Tudnátok segíteni ebben?

Próbáld meg így: dir *.*>>"fileneve%date%txt"
-
cigam
titán
Üdv!
Írtam egy batch fájlt, de a másolás része nem akar működni, amikor a copy parancs után van space-t tartalmazó mappa vagy fájlnév. A hibaüzenet: a rendszer nem találja a megadott fájlt.
Ha próbaképpen átnevezek mindent (hogy ne legyen bennük space), akkor jó.
Az jutott eszembe, hogy talán a %datum:/= % kavarhat be, ami a fájl azonosításához kell. A fájlnévben benne van a dátum, és mindig a tárgynapi fájlt kellene másolni, ami a fájlnév közepén van, ami előtt és után eleve van szóköz. Sajnos a szóközökkel nem tudok mit csinálni, egy program így hozza létre őket.
Lehet ezzel valamit kezdeni?A space-t tartalmazó mappa vagy fájlnév esetén az egész elérési utat+fájlnevet tedd idézőjelbe.
pl. copy c:\mappa nevem\ -» copy "c:\mappa nevem\" -
cigam
titán
Szia!
Az If sorozat helyére sorok száma alapján rövidebb, bár nem derül ki róla látványosabban, hogy mit csinál:
setlocal EnableDelayedExpansion
Set _Count=1
for %%G in (Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec) do (
If %~3==%%G Set _Result=0!_Count!
Set /A _Count+=1
)
Endlocal EnableDelayedExpansion & Set Honap=%_Result:~-2%A SetLocal Ena... engedélyezi, hogy futásidőben értékelődjenek ki változók, amit a változónál ! jellel mondunk meg.
Az Endlocal sorát így kell leírni (egy sorban), hogy a Honap jól kapjon értéket.
A %_Result:~-2% megoldásnak nem voltam eddig tudatában, ez annyit tesz a -2-vel hogy a string jobb végéről visszaszámolva két karakterrel metszi ki.
A Maj helyett May-t kell írni.Üdv.
Köszi!
-
cigam
titán
Szia!
Külön örülök, hogy a hónapokkal való favágást nem kellett tanácsolnom, mert kidolgozott jobb ötletem nekem sem volt
, és két elírásjavítást tennék e remek munkához:Rem a pont hiányzott a kiterjesztés előtt
set fajlnev=%date%.txt
Rem a változójelölés hiányzott
del %fajlnev%Az alábbi rész meglepetést okoz nekem, ugyanis nem fér a fejembe hogyan működik, de működik, a for-ral kipróbáltam és tényleg gyomlálja a duplán vagy akár triplán akárhol előforduló sorokat:
(find "%%A" < teljes_lista.txt > nul || >> teljes_lista.txt echo.%%A)
Tudsz esetleg linket adni, és ha bárki érti, akkor attól magyarázatot?

Minden jót!
A set fajlnev=%date%.txt-ba nem kell pont, a dátum automatice tesz egy pontot a dátum végére (pl. 2015.10.12.)
Igen, erre napkozben rájöttem, mert bekapcsolt echo-val állandóan panaszkodott, hogy nincs fajlnev nevü fájl

(find "%%A" < teljes_lista.txt > nul || >> teljes_lista.txt echo.%%A)
Ez ugye úgy működik, hogy a find parancs rákeres minden egyes sorra a teljes_lista.txt-ben, és a parancs kimenetét elküldjük a semmibe. Ettől még visszaad egy errorlevel értéket, és ezt használja fel arra, hogy az adott sort beletegye a teljes_lista.txt-be, vagy ne.
[link] -
cigam
titán
Köszi a tippeket, végül ez lett belőle:
@echo off
setlocal EnableDelayedExpansion
set fajlnev=%date%txt
d:
cd D:\PortableApps\ftp-list
del fajlnev
winscp.com /script=ftpserverem>>%fajlnev%
rem 5=fájlméret byte-okban
rem 6=hónap rövid neve
rem 7=nap sorszáma
rem 8=idő
rem 9-=fajlnev
for /f "skip=11 tokens=5,6,7,8,* delims= " %%A in (%fajlnev%) do call :sorfeldolgozas "%%E" "%%A" "%%B" "%%C" "%%D"
goto :vege
:sorfeldolgozas
set nev=%~1
set /a meret=%~2/1024/1024
if "%~3" == "Jan" set honap=01
if "%~3" == "Feb" set honap=02
if "%~3" == "Mar" set honap=03
if "%~3" == "Apr" set honap=04
if "%~3" == "Maj" set honap=05
if "%~3" == "Jun" set honap=06
if "%~3" == "Jul" set honap=07
if "%~3" == "Aug" set honap=08
if "%~3" == "Sep" set honap=09
if "%~3" == "Oct" set honap=10
if "%~3" == "Nov" set honap=11
if "%~3" == "Dec" set honap=12
if %~4 lss 10 (set nap=0%~4) else (set nap=%~4)
set ora=%~5
echo %honap%-%nap%,%ora%,%nev%,%meret%MB>>ftp-%fajlnev%
:vegeSőt a végére odabiggyesztve ezt, fullextrás lett:
rem sorbarendezi a napi listát
sort ftp-%fajlnev% /o ftp-%fajlnev%
rem kiveszi a duplikátumokat
for /f "tokens=* delims= " %%A in (ftp-%fajlnev%) do (find "%%A" < teljes_lista.txt > nul || >> teljes_lista.txt echo.%%A)
goto:eofBár ez utóbbi csak holnap fog kiderülni

-
cigam
titán
Szia!
prompt>winscp | findstr "^[-]"
-rw-rw-rw- 0 user group 1433338128 Oct 6 19:40 151006 fßjl1
-rw-rw-rw- 0 user group 206993412 Sep 22 17:55 fßjl2
-rw-rw-rw- 0 user group 195131396 Oct 3 13:18 fßjl3leveszi a fejlécet, mert a findstr olyan sorokat továbbít a consolra, ahol a sor elején (amit a "^" jelöl) - character ("[-]" jelöli) van.
prompt>FOR /F "tokens=5,6,7,8,* delims= " %A IN (' winscp | findstr "^[-]" ') DO @echo %B %C %D %A %E
Oct 6 19:40 1433338128 151006 fßjl1
Sep 22 17:55 206993412 fßjl2
Oct 3 13:18 195131396 fßjl3Batcben (%A helyett dupla %-kal, tehát %%A és így tovább %%E-ig):
FOR /F "tokens=5,6,7,8,* delims= " %AA IN (' winscp | findstr "^[-]" ') DO @echo %BB %CC %DD %AA %EE
A delims=<space> szóközzel elválasztott szavakra tördeli szét a tokens= vel meghatározott indexekűeket. A %A-ba a fileméret kerül a %B a hónap neve majd a végén a %E-be a 9. szótól a végtelenig (* mondja ezt). Azután az @echo megfelelően összekeveri a stringeket.
Azt nem nagyon hiszem hogy a winscp csak ilyen bénán írja ki a dátumokat, kell lennie megfelelő kapcsolónak, hogy a kívánt formátum legyen. Lehetséges, hogy a dir parancs is pont ilyen bénán írja ki a dátumokat? Mert akkor a "set dircmd=" -t kell állítani.
Üdv.
Köszi a tippeket, végül ez lett belőle:
@echo off
setlocal EnableDelayedExpansion
set fajlnev=%date%txt
d:
cd D:\PortableApps\ftp-list
del fajlnev
winscp.com /script=ftpserverem>>%fajlnev%
rem 5=fájlméret byte-okban
rem 6=hónap rövid neve
rem 7=nap sorszáma
rem 8=idő
rem 9-=fajlnev
for /f "skip=11 tokens=5,6,7,8,* delims= " %%A in (%fajlnev%) do call :sorfeldolgozas "%%E" "%%A" "%%B" "%%C" "%%D"
goto :vege
:sorfeldolgozas
set nev=%~1
set /a meret=%~2/1024/1024
if "%~3" == "Jan" set honap=01
if "%~3" == "Feb" set honap=02
if "%~3" == "Mar" set honap=03
if "%~3" == "Apr" set honap=04
if "%~3" == "Maj" set honap=05
if "%~3" == "Jun" set honap=06
if "%~3" == "Jul" set honap=07
if "%~3" == "Aug" set honap=08
if "%~3" == "Sep" set honap=09
if "%~3" == "Oct" set honap=10
if "%~3" == "Nov" set honap=11
if "%~3" == "Dec" set honap=12
if %~4 lss 10 (set nap=0%~4) else (set nap=%~4)
set ora=%~5
echo %honap%-%nap%,%ora%,%nev%,%meret%MB>>ftp-%fajlnev%
:vege -
cigam
titán
Már nagyon péntek van, és nem forognak a kerekek

winscp-vel lekérek egy könyvtárlistát, mert a beépített ftp nem ismeri a passive módot.
Hogyan tudnám kigyomlálni a listát emberi fogyasztásra alkalmas formába?Connecting to ftp.szerverem.hu ...
Connected
Starting the session...
Session started.
Active session: [1] user@ftp.szerverem.hu
/Konyvtaram
D--------- 0 0 ..
-rw-rw-rw- 0 user group 1433338128 Oct 6 19:40 151006 fájl1
-rw-rw-rw- 0 user group 206993412 Sep 22 17:55 fájl2
-rw-rw-rw- 0 user group 195131396 Oct 3 13:18 fájl3Az első pár sort el kellene dobni, és csak a fájl listát meghagyni, átalakítani:
2015-10-06 19:40 fájl1 1433MB
2015-09-22 17:55 fájl2 206MB
2015-10-03 13:18 fájl3 195MBAz már csak hab lenne a tortán, ha dátum szerint lenne rendezve a lista. Attól tartok valami alap célprogramot kell hozzá faragni. Vagy tévedek?
-
cigam
titán
Szia!
Sajnos nagyon nem érthető.
Ezért kérlek írd meg pár (4-5) konkrét filenévvel, hogy a képeket tartalmazó mappa és az aktuális mappa milyen file-okat tartalmaz-na -hat, majd azt, hogy egy (több) nap milyen változás áll be mondjuk ilyen formában:
2015.09.23. kép-vagy-aktuális-mappa\fileateljesnevével.kit -> k-v-a-mappa\filnévváltozás.kit
2015.09.24. k-v-a-mappa\fileateljesnevévelkettő.kit -> k-v-a-mappa\másikfilnévváltozás.kit
...Gondolom, fényképezőgépről vagy mobilről jönnek a file-ok a kép mappába, szóval erről is írjál hogy mi történ-ik -het napi szinten ezekkel az állományokkal, és egyáltalán bővebben arról, hogy miért is szeretnél ilyesmit
.
Előrevetítve majd úgy oldjuk meg, hogy ha ez a két mappa a C: egységen van, akkor a D: egységre másolt file-okkal és ugyanilyen path-on (csak éppen D: egységgel kezdve) kipróbáljuk a működést.Üdv.
Nekem az jött le, hogy napi szinten készül x db fotó, mindegyik 01-el kezdődő sorszámmal. Ezeket kellene átmozgatni egy másik mappába, de úgy hogy az ottani folyamatos sorszámozású képek sorszámait folytatja. (Na ezt jól megaszontam én is
)
Tehát a célmappában vannak már fájlok 01-xy.jpg,02-sd.jpg,....3546-ab.jpg. A forrás könyvtár 01-df.jpg fájljából 3547-df.jpg lesz, és így tovább.Pesze simán félre is érthettem, ezért jó lenne egy nyugtázás, vagy cáfolat.
-
cigam
titán
Sziasztok!
Azt valahogy batch-ben meglehet oldani, hogy futtatás után nyisson egy telnet ablakot és abban lefuttasson két parancsot?
Ipari berendezés és az egyik kommunikációs kártya driverével gond van és kézzel kell elindítani minden indulás után erre szeretnék valami automatikus megoldást.
Tehát:
telnetk "ip cím"
parancs1
parancs2Segítséget előre is köszönöm!
Ez segíthet.
De ha telnet helyett megoldható az ssh is, akkor putty a barátod (-m c:/parancslista,txt)
-
cigam
titán
-
cigam
titán
bocs, benne maradt egy két dolog a tesztelésből, és nem is írtam, mit csinálj vele
1) _rootfolder után kell a tényleges könyvtár, amiben/alatt alatt az sv fájlok vannak
2) a kconvars.exe könyvtárában kell elhelyezni a fájlt .cmd végződéssel (.bat kerülendő) és onnan futtatniSetlocal EnableDelayedExpansion
@ECHO OFF
SET _rootfolder="C:\Temp"
FOR /F %%A IN ('dir %_rootfolder% /s/b^|find "sysframe.sv"') DO (
SET _file=%%A
SET _dir=!_file:~0,-11!
SET _newFile=!_dir!sysframe.va
kconvars !_file! !_newfile!
)+ a sysframe.sv cseréld ki sysvars.sv-re ;-)
-
cigam
titán
Sziasztok!
Szeretnék készíteni egy bat file-t ami a dvd-meghajtóról át másolj az adatokat pl: a K meghajtó 12-es mappába.
Amatőr vagyok e téren ezért kérném segítségétket. (Ergó: Gyorsan tanulok)xcopy /E d:\ k:\12\
-
cigam
titán
-
cigam
titán
Másik thread-ben előjött egy kérdés, hogy batch fájlból hogyan ellenörzöl lemezt, ha foglalt.
az echo i|chkdsk c: /F működik, de másik meghajtón két kérdést tesz fel. Az elsőre (kényszerített leválasztás) n a helyes válasz, a második kérdésre i a válasz(következő indulásra időzítse)Hogyan tudok megadni neki 2 választ? Vagy elég az echo ni| chkdsk d: /F?
-
cigam
titán
-
cigam
titán
-
cigam
titán
Működnie kell akkor is. Ird le ide is a parancsot amit kiadsz, és másold ide az esetleges hibaüzenetet, vagy pontosan leírva azt, hogy mi nem működik.
pl. van egy c:\kepek könyvtár, és az aban tárolt fájlokat le akarod másolni pendrive-ra, akkor kiadod a
copy c:\kepek e:\masolat
parancsot. Ez az összek kepek mappában tárolt fájlt (az alkönyvtárakat nem!) lemásolja a pendrive masolat mappájába.Igen, számítanak. Valami "érthetetlen" oknál fogva a notepad-ban leírt c:\képek mappa a batch végrehajtásakor nem a képek mappára mutat.
-
cigam
titán
Sziasztok, kis segítséget kérnék, házi szerverhez szeretnék indító batch fájlt készíteni. Van néhány program ami elengedhetetlentől fontos de alapértelmezésképp csak rendszergazda joggal indul. Ezt kellene megoldani, hogy felhasználói fiókból is jelszó kérés nélkül automatikusan induljanak ezek a programok. (A merevlemez elérések miatt, nem rendszergazda ként lépek be)
tuti batch-ből akarod? Időzítve 1xübb
Amúgy meg a runas ill. psexec parancsok segíthetnek.
-
cigam
titán
copy honnan hova
Eddig nem nagy feladat. Pontosan mit honnan és hova szeretnél másolni?
Petya25
A /D -10 nem függ a dátumformátumtól
-
cigam
titán
forfiles /P gyokerkonyvtar /S /D -10
-
cigam
titán
-
cigam
titán
-
cigam
titán
És olyan téren tudsz segíteni hogy egy számitógépen (C: és D: meghajtók) a meghajtókon keressn meg egy megadott filet aminek a nevét és az elérésiútját belerakja egy erre a célra enerált mappába és ezen belül egy
%változo(dátum)%.txt file-ba
ebben tud valaki segíteni? ha igen akkor meköszönném

Számtech házi feladat?

-
cigam
titán
Sziasztok.
Windows alá kellene nekem egy olyan Batch (akármi.bat) ami képes megkeresni nekem egy bizonyos fájlt, majd változóba kiírni a teljes elérés utat.
Nehezítés: A géphez csatolt minden elérhető meghajtón keressen rá.Példa: szeretném ha megkeresné a "marker.mark" nevű fájlt egy olyan gépen ahol van C, D, F, G, S, X, Y, meghajtó.
Eddig jutottam el, de ez csak akkor működik ha előtte elnavigálom valamelyik meghajtóra.
for /f "tokens=*" %%a in ('dir marker.mark /b /s') do set loc=%%a
set loc1=%loc:~0,-11%Illetve:
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO @if exist %%i: echo %%i:
ezzel meg ki tudom íratni a létező meghajtókat. De a kettő összekapcsolásával vagyok bajban.
Ha valaki elárulja nekem ezt a titkot akkor nem kell mindig megkeresnem kézzel, majd átírnom a batch fájlban.
A segítséget előre is köszönöm!

Mit szólnál ehez:
@echo off
pushd %~dp0
set talalat=
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i: call :keres %%i
echo %talalat%
popd
goto :eof
:keres
%1:
cd \
for /f %%a in ('dir marker.mark /b /s') do set loc=%%a
set talalat=%talalat%%loc%Kicsit megtrükköztem, mert nem csak 1 találat lehet, hanem több is. Ezt aztán kásőbb felsolgozhatod kedved szerint.
-
cigam
titán
-
cigam
titán
Köszi, azzal megoldottam.
Azt viszont nem tudom, lehet-e, hogy ha elindítom a programot, akkor automatikusan kezdje el begépelni a cuccokat.
Vagy azt beleírni egy bat fájlba, hogy indítsa el a programot, majd nyomja meg a CTRL+ALT+A kombinációt.
Ilyet is próbáltam, csak ezzel az a baj, hogy ha elindul a program, akkor az lesz az aktív ablak, és addig nem lép tovább a bat, amíg azt be nem zárom.
Lehet olyat, hogy a programot a háttérbe indítsa, és lépjen tovább a következő parancsra?Igen, pl.
start valami.exe
Ugyanakkor ilyen spéci begépelem beillesztem varázslatokra inkább az autohotkey alkalmas. -
cigam
titán
Sziasztok!
Egy olyan batch fájlt szeretnék írni, ami elindít egy programot, majd beírja a felhasználónevet, TAB-bal átlép a jelszó mezőre, majd azt is beírja, és nyom egy entert.
Ki lehet valahogy töltetni egy külső program formját egy .bat fájllal?
Azért lenne jó, mert az adott program nem tudja megjegyezni az adatokat, így mindig be kell írnom mindent.
Köszi előre is!
(win7 x64, magyar)Csak akkor, ha a program képes paraméterként feldolgozni a felhasználónevet, és jelszót.
pl. kutya.exe /U=usernév /P=jelszóUgyanakkor ezt egy csomó jelszókezelő tudja, mert nem csak az online jelszavakra lehet megtanítani. pl. KeePass
-
cigam
titán
Sziasztok!
Hogy tudom Windows 7 x64 alaltt (magyar) ezeket a fájlokat a a Felhasználó Dokumentum mappájába másolni? Úgy hogy a "Tools" mappa nem létezik?
network_drive.bat
network_drive.vbsIlletve ez pedig a start menüben a indítópult mappába:
network_drive.vbs.lnkSegítségeteket előre is köszönöm!
Nem értem a kérdést. Hol van itt "Tools" mappa?
tippem szerint a másolás vhogy így néz ki:
copy network_drive.bat "%USERPROFILE%\My Documents"
copy network_drive.vbs.lnk "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\StartUp"Pontos szintakszis nincs lecsekkolva, OSX alatt nem megy

-
cigam
titán
Sziasztok!
Szeretnék egy kis segítséget kérni! Egy olyan batch file szeretnék írni, amely az adott képernyőbeállításaimat állítja vissza. (Tehát pl. elmennek(/elvesznek/átállítom) a képernyőbeállításaim, akkor ezt a fájlt futtatja az visszaállítja őket egy megadott formátumba.
Tudtok ebben segíteni, hogy ezt hogy is kellene?
Köszi!

Mármint az asztalra kitett ikonokat és azok pozícióját menti el? Ezt batchból nem lehet. Erre külön program van: pl [link]
-
cigam
titán
Sziasztok!
Szeretnék egy kis segítséget kérni! Szeretnék csinálni egy batch file-t, amiben meghívnám a poweriso-t, és így ha ehhez a *.bat-fájlhoz társítanám az iso-kat, akkor felcsatolná automatikusan. a baj csak ott van, hogy nem tudom miképpen lehetne az iso adatait kiszedni mikor meghívja a poweriso-t.
Ha tudom az útvonalat, akkor nem nagy dolog, de szeretném, ha minden iso mehetne vele.
piso.exe mount "ezt a változót keresem" e:Ha esetleg nem voltam világos elnézést, a batch programozás nem a világom..
Köszönettel:
Zoliez egy bat fájlba téve működhet:
unmount drive x:
piso mount %1 x: -
cigam
titán
sziasztok!
úgy 1 hete villant át az agyamon, hogy azt a rengeteg előre megírt script-et (batch és powershell), amivel a melóhelyen folyamatosan teleszemetelem az egyik mappámat, talán össze lehetne rakni egy "programba".
eddig egész sok mindenre rájöttem különböző leírások alapján, de van egy olyan hibaforrás, amit sehogy sem sikerül kiküszöbölnöm...
a kérdéses program rész(let):
set /p choice=Válassz! -
ECHO.
if '%choice%'=='0' call MAIN.bat
if '%choice%'=='1' call ip_BP.bat
if '%choice%'=='2' call dom_BP.bat
if '%choice%'=='' goto start
if not '%choice%'=='1'2'3' goto startamikor választok egy számot, behívja az adott az adott fájlt. ha nem választok semmit vagy nem a felsorolt opciók közül választok, akkor visszamegy az elejére. eddig rendben is van.
viszont! hogyha mondjuk a "dom_BP.bat" fájlból visszalépek a "MAIN.bat" fájlba és "véletlenül" nyomok egy entert, akkor a legutóbb választott karakternek megfelelően viselkedik.
ez nem egy hatalmas probléma, de okozhat kellemetlenségeket a későbbiekben, mert elég szerteágazó kis programnak tervezem.
(például legutóbb a "0 - vissza" opciót választottam, véletlenül újra lenyomom az entert és ekkor csinál valami hülyeséget)eléggé laikus vagyok a témában (gondolom ez le is jött...) de remélem, nagyjából érthető, mi is volna a problémám.
előre is köszönöm a segítséget, tanácsokat

töröld a %choice% értékét visszatéréskor.
-
cigam
titán
-
cigam
titán
-
cigam
titán
Egyesévvel megnéztem cmd-ben lefutnak és a kimenet rendesen kiírja a paramétereket, de batch file-be átültetve már nem megy.
Persze mert más a codepage. Ha bekapcsolod a viszhangot, te is látod, hogy az ékezet bekavar:
>systeminfo | find /i "Operßciˇs rendszer neve"
>systeminfo | find /i "Operßciˇs rendszer verziˇja"
>ipconfig | find /i "IPv4-cÝm"Ne notepaddal szerkeszd, hanem olyannal ami tud 852-es kódlapot használva menteni. pl AkelPad
-
cigam
titán
Milyen (nyelvü) oprendszer? a sima sysinfo kimenetében van "Operációs rendszer neve"
Pl. W8.1 alatt a systeminfo | find /i "Os Name" működik. -
cigam
titán
systeminfo | find /i "Operációs rendszer neve"
systeminfo | find /i "Operációs rendszer verziója"
ipconfig | find /i "IPv4-cím"Van egy batch filem amiben a fenti kódrészlet van. Lefut, de nem adja be. Ezután még egy pause van és vége.
Mit nem ad be?
Új hozzászólás Aktív témák
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Huawei Watch Fit 5 Pro - jó forma
- Formula-1
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- exHWSW - Értünk mindenhez IS
- Forza sorozat (Horizon/Motorsport)
- Milyen autót vegyek?
- Álláskeresés, interjú, önéletrajz
- Fejhallgató erősítő és DAC topik
- A Linux megnégyszerezte magát a Steamen — a Microsoft ismét ígérget
- További aktív témák...
- 24 magos AMD Threadripper alapú munkára kiváló félgép, 128GB RAM-mal
- HP ZBook Fury 15 G7 i7-10850H 32GB 512GB SSD Quadro T2000 4GB FHD HUN bill, szép állapotban eladó
- Eladó MacBook Pro 16,1 2019 CTO
- új 0 km es garanciás lenovo loq rtx 5050 8gb
- Eladó teljesen újszerű karcmentes Samsung Galaxy Watch Ultra
- iKing.Hu - Apple MacBook Pro 14 M1 Pro (2021) 16GB/500GB karcmentes 85% akku 353 ciklus
- BESZÁMÍTÁS! Asus Rog Strix Z390-F Gaming alaplap garanciával hibátlan működéssel
- HIBÁTLAN Apple Watch Series 11 Rose Gold GPS + Cellular-2 ÉV GARANCIA-MS5150,100% AKKSI
- 27% - Samsung S49CG954SU OLED Monitor! 5120x1440 / 240Hz / 0.03ms / FreeSync
- AKCIÓ! Dell Latitude 5455 14 FHD+ üzleti notebook - Qualcomm X Plus X1 16GB DDR5 512GB SSD W11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



Nagyon köszönöm a segítséget! 







