- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Yettel topik
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- iPhone topik
- Huawei Watch Fit 5 Pro - jó forma
- Apple iPhone 17e – mágnesek ereje
- Honor 600 – kezes, kitartó, költséges
- Milyen okostelefont vegyek?
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
-
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
-
csaszizoltan
csendes tag
Sziasztok!
Előre is leszeretném szegezni, hogy nem konyítok a programozáshoz.
Egy játékot, és a hozzá tartozó trainert szeretnék egy időben, 1 ikonnal futtatni, a lehetőlegjobban leegyszerűsítve.
A trainer segítségével tudok csatlakozni más játékosokhoz. A Trainer-t pedig az F3 billentyűvel aktiválom.
Majd a játék konzoljába kell beírnom a szerver ip címét.
Ezt eddig úgy sikerült leegyszerűsítenem, hogy létre hoztam egy .bat file-t, amiben a következők vannak:CLIP > CONNECT.TXT
start "Privat Client" "D:\Games\xyz\xyz Privat Client trainer.exe"
start "xyzmp" "D:\Games\xyz\xyzmp.exe"A coonect.txt-ben a szerver ip címe van, amit egyből másolással vágólapra tesz, és így a játék betöltése után csak F3-mat kell nyomnom, majd a konzolt előhoznom, és abba beillesztenem az ip-t ctrl v-vel, majd enter.
A kérdésem az lenne, hogy az megoldható valahogy, hogy a két exe betöltődése után automatikusan megtörténjen az f3 gomb lenyomása?
Szóval bele lehet azt valahogy írni a scriptbe, hogy automatán aktiválja a trainert?
A választ, segítséget előre is köszi!

Szia!
Hozz létre egy "F3.vbs" visual basic script filet az alábbi tartalommal:F3.vbs
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "{F3}"majd illeszd be az F3.vbs sort a batch fileodba így:
(a clip parancs után az általad megadottól eltérően a másik irányba kell állni a csibecsőrnek
és a connect txt csak az ip címet tartalmazhatja és nem lehet utána - mármint az ip cím után - benne enter )CLIP < CONNECT.TXT
start "Privat Client" "D:\Games\xyz\xyz Privat Client trainer.exe"
start "xyzmp" "D:\Games\xyz\xyzmp.exe"
F3.vbsHa a konzolt is lehet billentyűparanccsal előhozni, azt is lehet vbs file-lal irányítani, majd ugyanígy a ctrl-v-t is, részletek itt.
elképzelhető hogy az F3.vbs legelejére be kell illeszteni egy (több) másodperc várakozást 1000 millisecundummal képezve, hogy a játék betöltődése megtörténjen
WScript.Sleep 1000 -
csaszizoltan
csendes tag
Köszönöm szépen! Az a baj, hogy nem lenne rossz ,de nem működik. Se a filet nem nevezi át, és még meg is kérdezi, hogy fileval vagy directoryval akarok-e foglalkozni. Nekem egy teljesen automatazitált dolog kéne, ami szó nélkül átrángatja a forrásból a célkönyvtárba a másik filet, de mielőtt ezt megtenné, a célkönyvátrban lévő már létező (ugyan olyan nevű filet átnevezné a mai dátumra, órára percre stb). és így akár hányszor rányomnék, csinálna egy backupot a fileból.
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%
-
csaszizoltan
csendes tag
-
csaszizoltan
csendes tag
Sziasztok,
tudnátok segíteni az alábbi problémával?
Nagyvállalati környezet, sima user vagyok a gépen, semmi admin jogom nincs, Win10 Enterprise fut.
A default böngésző sajnos az Explorer, ezt szeretném átállítani Chrome-ra. Ezt meg is tudom tenni, működik is, viszont a házirend miatt minden újraindítás után visszaáll Explorerre.Tudnátok segíteni egy kis batch parancssal, amit egy kattintással meg tudok futtatni és nem kell a gépházban szórakoznom vele minden alkalommal?
Esetleg excel VBA-val is meg tudnám hívni ezt a bat fájlt valahogy? Úgy még jobb lenne.
köszi!
C:\Users\Username\AppData\Local\Google\Chrome\Application\chrome.exe --make-default-browser
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --make-default-browser
C:\Program Files\Google\Chrome\Application\chrome.exe --make-default-browserAz első sorban a pathban a username-t át kell írni a sajátra
Valamelyikre működhet, ha van jogosultságod ehhez, a többi sort gyomlálni kell.
-
csaszizoltan
csendes tag
Igen igen, ez remekül bevált, köszönöm ismét

Infó: számomra a 120sec még sok is (gyakoriságot tekintve), mivel kb 3-4 naponta érkezik oda bármi (sőt, van, hogy egy hétig semmi). Ezért is került nagyon perifériára és vagyunk hajlamosak megfeledkezni róla. Ezért már az is jó, ha 1-2óránként végez ellenőrzést.
De egyébként a 120sec is kiváló. Szépen csendben elvan a háttérben, ha pedig érkezik valami, már dobja is az ablakot a képernyőre.
Startup mappába bedobtam, géppel indul, törődésmentes
Sajnos még ez sem tökéletes, ugyanis ha a abban a két perc végén a for ciklus alatt két (több) file is érkezik, akkor elképzelhető, hogy azokról nem tesz említést a modal window, csak az elsőnek felderítettről.
Ha jobban belegondolok, akkor nem szól a windows indulás előtt készültekről sem, tehát az éjszaka ill. munkaidőn kívül érkezett file-okról sem.
A több file érkezésének problémára megoldás lehet konkrétan ebben a programban, hogy a TIMEOUT értékét valami kis értékű prímszámra állítjuk (pontosabban relatív prím 60-ra), mondjuk 19-re , hogy még véletlenül se hangolódjon össze a batch ciklusa a percekkel (ami ebben a batchben a file-ok időpontossága) és akkor el kell viselni azt, hogy egy pdf érkezéséről többször is értesít esetleg egy két percig, de akkor sokkal biztosabb az értesítés.
Azonban sajnos most én kimerültem evvel a problémával (új kódok készítése) kapcsolatban. -
csaszizoltan
csendes tag
-
csaszizoltan
csendes tag
Windows 7 sajátosságok vannak benne (Chrome path)
Magyar rendszer szükséges a helyes ISO formátumú dátum idő sorrend érdekében.
Chrome-ot indít a pdf-fel vagy egy tabot ha már fut a chrome, szerintem Firefox is tudja a pdf-et megnyitni, de nem néztem utána.
Lehetséges sajnos lyuk ebben a megoldásban ( A For ciklus után, de még a SET STAMPTIME előtt érkezik a pdf és közben percváltás történik)
A Timeout parancsban a 120 azt jelenti, hogy 120 másodpercig vár, vagyis az egész bat file ennyi időnként vizsgál újra, feltétlenül átírandó a kedvelt értékhez (de nagyobb legyen mint 1 perc a helyes egyszeri értesítés miatt).
Az :ERTESITES részben kicserélhető saját megoldásra a Chrome indítás helyett (az :ERTESITES és GOTO :EOF sor nem törlendő, csak a Chrome indítása helyettesítendő)@ECHO OFF
:LOOP
SetLocal EnableDelayedExpansion
SET STAMPTIME="%DATE% %TIME%"
SET STAMPTIME=%STAMPTIME:~0,18%"
TIMEOUT /T 120 /NOBREAK
FOR /R %%A IN (*.pdf) DO (
SET FILETIME="%%~tA"
IF %STAMPTIME% LEQ %FILETIME% CALL :ERTESITES "%%A" %FILETIME%
)
EndLocal EnableDelayedExpansion
GOTO :LOOP
GOTO :EOF
:ERTESITES
%USERPROFILE%\AppData\Local\Google\Chrome\Application\chrome.exe %1
GOTO :EOFEz 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 :EOF -
csaszizoltan
csendes tag
A pontos szintaktika, aminak hatására a megadott path-on nézi a pdf-eket:
FOR /R [drive:[path]] %%A...sajnos nincs hálózatom és benne gyakorlatom így nem tudom kipróbálni, hogy a drive.path helyébe mit is kell írni, ha hálózati helyet akarunk, de valami ilyesmit sikerült kiderítenem (esetleg idézőjelek közé zárva, ha a path-ban space van):
FOR /R "\\számítógépnév\Path" %%A...Hogy megszólaljon a gép ahhoz ennyi elég a megoldásomban (nem jó a csak ^G, hanem control és g billentyű egyidejű lenyomása kell)
:ERTESITES
ECHO <ctrl-G><ctrl-G><ctrl-G><ctrl-G>
GOT :EOFA chrome-os megoldásomban az lehet a jó, hogy fel kell számolni a tabokban elhelyezkedő pdf-ket, így kikerülhetetlenek maradnak a pdf-ek, de biztos megvan a saját pdf nézegetőtök, azt be kell csak helyettesíteni a chrome path helyébe, ha nem egyszerű, írjál rám privát, megoldjuk.
-
csaszizoltan
csendes tag
Sziasztok!
Egy olyan batch file-ra lenne szükségem, ami értesítést küld, ha adott könyvtárba file kerül.
(Szerveren egy könyvtárba kerülnek fel a faxon beérkezett, PDF-be mentett adatok, de ezek néha elkerülik a figyelmünket. Semmi extra elvárás nincs, csak jelezzen új beérkezés esetén).Első körben arra gondoltam, számlálhatná a fileokat és változás esetén jelez. De ha két számlálási ciklus között valaki esetleg töröl egy régebbit, de beérkezik egy új, akkor arról nem fog jelezni.
Nem tudom, hogy módosítás dátumával lehet valamit kezdeni - pl. aznapi dátummal érkező file-ok esetén dobjon egy ablakot/emailt/csipogjon, mindegy.Van erre lehetőség?
Próbáltam keresni, bár nem egyszerű, így ha már volt hasonlóról szó, nekem annak a hozzászólásnak a linkje, száma is elég (vagy hogy nagyjából mikori hozzászólások környékén kutakodjak).Köszi előre is.
Szerk:
Sőt, jobban belegondolva (ha az egyszerűbb), az is elég, ha PDF kiterjesztéssel file-t érzékel, akkor dob egy jelzést. Mivel utána úgyis áthelyezzük a beérkezett file-okat a megfelelő könyvtárakba.Windows 7 sajátosságok vannak benne (Chrome path)
Magyar rendszer szükséges a helyes ISO formátumú dátum idő sorrend érdekében.
Chrome-ot indít a pdf-fel vagy egy tabot ha már fut a chrome, szerintem Firefox is tudja a pdf-et megnyitni, de nem néztem utána.
Lehetséges sajnos lyuk ebben a megoldásban ( A For ciklus után, de még a SET STAMPTIME előtt érkezik a pdf és közben percváltás történik)
A Timeout parancsban a 120 azt jelenti, hogy 120 másodpercig vár, vagyis az egész bat file ennyi időnként vizsgál újra, feltétlenül átírandó a kedvelt értékhez (de nagyobb legyen mint 1 perc a helyes egyszeri értesítés miatt).
Az :ERTESITES részben kicserélhető saját megoldásra a Chrome indítás helyett (az :ERTESITES és GOTO :EOF sor nem törlendő, csak a Chrome indítása helyettesítendő)@ECHO OFF
:LOOP
SetLocal EnableDelayedExpansion
SET STAMPTIME="%DATE% %TIME%"
SET STAMPTIME=%STAMPTIME:~0,18%"
TIMEOUT /T 120 /NOBREAK
FOR /R %%A IN (*.pdf) DO (
SET FILETIME="%%~tA"
IF %STAMPTIME% LEQ %FILETIME% CALL :ERTESITES "%%A" %FILETIME%
)
EndLocal EnableDelayedExpansion
GOTO :LOOP
GOTO :EOF
:ERTESITES
%USERPROFILE%\AppData\Local\Google\Chrome\Application\chrome.exe %1
GOTO :EOF -
csaszizoltan
csendes tag
Notepad++ használtam szerkesztésre. Korábban próbáltam a notepadot is, azzal felülírni a fájlt de ezek szerint valami hiba történt nem írta megfelelően felül.
Most létrehoztam egy új állományban notepaddal, kódtábla nélkül. Akkor Gßbor lett az ékezetes névből. Beállítottam a kódtáblát "chcp 1250" és az is lefut így. Ez lett az eredmény. (A fájlneveket töröltem)Köszönöm szépen a segítséget!
D:\Megosztott>chcp 1250
Active code page: 1250
D:\Megosztott>for /F "tokens=1 delims=. " %a in ('date /t') do set yyyy=%a
D:\Megosztott>set yyyy=2016
D:\Megosztott>for /F "tokens=2 delims=. " %a in ('date /t') do set mm=%a
D:\Megosztott>set mm=08
D:\Megosztott>for /F "tokens=3 delims=. " %a in ('date /t') do set dd=%a
D:\Megosztott>set dd=30
D:\Megosztott>set folderdate=2016.08.30
D:\Megosztott>net use x: \\NAS\Iroda
A parancs sikeresen végrehajtva.
D:\Megosztott>md "C:\Gabor\backup\2016.08.30\Outlook\"
A subdirectory or file C:\Gabor\backup\2016.08.30\Outlook\ already exists.
D:\Megosztott>xcopy C:\Users\Gábor\AppData\Local\Microsoft\Outlook x:\Gabor\backup\2016.08.30\Outlook\ /e /h /r /y /k /c
.........................
18 File(s) copied
D:\Megosztott>net use x: /delete
x: sikeresen törölve
D:\Megosztott>pause
Press any key to continue . . .Szívesen!
És akkor még egy segítség
Ha notepad++-t használod, akkor a batch file-ban maradjon minden úgy ahogy elküldted a legutóbbi hozzászólásodban (tehát a "chcp 1250"-nel) és a np++-ban be lehet/kell állítani ezt a codepage-t (természetesen csak akkor, ha magyar ékezetes fileneveket használsz) a bat file-ra magára is a következő módon, de ez nem állítja a többi file codepage-t az nppp-ban:
Ezt a menüpontot (a menüfában) ki kell választan (kép)i -
csaszizoltan
csendes tag
Amit küldtél, lefuttattam és ezt kaptam.
D:\Megosztott>´╗┐cp 1250
'´╗┐cp' is not recognized as an internal or external command,
operable program or batch file.
D:\Megosztott>for /F "tokens=1 delims=. " %a in ('date /t') do set yyyy=%a
D:\Megosztott>set yyyy=2016
D:\Megosztott>for /F "tokens=2 delims=. " %a in ('date /t') do set mm=%a
D:\Megosztott>set mm=08
D:\Megosztott>for /F "tokens=3 delims=. " %a in ('date /t') do set dd=%a
D:\Megosztott>set dd=30
D:\Megosztott>set folderdate=2016.08.30
D:\Megosztott>Rem net use x: \\NAS\Iroda
D:\Megosztott>md "C:\Gabor\backup\2016.08.30\Outlook\"
D:\Megosztott>xcopy C:\Users\Gábor\AppData\Local\Microsoft\Outlook C:\Gabor\backup\2016.08.30\Outlook\ /e /h /r /y /k /c
File not found - Outlook
0 File(s) copied
D:\Megosztott>Rem net use x: /delete
D:\Megosztott>pause
Press any key to continue . . .A kódtábla parancsa az "cp" vagy "chcp" pontosan. Én chcp-t találtam. De azzal sem jó.
D:\Megosztott>´╗┐chcp 1250
'´╗┐chcp' is not recognized as an internal or external command,
operable program or batch file.Ahogy nézem az ékezetes karakterek zavarják a dolgokat mert a mappák létrehozása a NAS-on is és a c:/ működik. Korábban próbáltam máshonnan másolni a C:-ről és onnan nem volt gond.
Ami még kimaradt win10 x64 rendszeren próbáltam.Először is elnézést a hibáért, tényleg chcp és nem cp (lemaradt a másolásból a ch).

Sajnos a Windows 10 dolgaiban nehezebben leszek kompetens, ugyanis win7-ig jutottam még csak el, de
itt több dolog is hibádzik, bár itt csak command ablakról van szó, valószínű minden vátozatlan.1. Az első sor, a ´╗┐chcp 1250 sor biztos hogy nem tud végrehajtódni, mert (ahogy jelzi is) a ´╗┐chcp karaktersorozattal nem tud mit kezdeni a dos, ezt most úgy tudnánk megoldani, hogy elé egy sorban Rem akarmi-t írsz,
2. Valami nagyon nem stimmel az editorral (milyen szövegszerkesztővel dolgozol ebben a problémában?), mert a G├íbor ékezethibával majdnem biztos, hogy nem fogok tudni tanácsot adni 20 perc alatt. Ha kérhetlek, térj át most az egyszerű Notepad.exe-re.
Ha Gßbor-t (vagy Gábor-t) látunk az xcopy sorban, akkor nyert ügyünk lesz.2. szeretném látni a karakterkódlapokat, tehát beszúrunk chcp sorokat is, tehát végül is így
Rem akármi
chcp
chcp 1250
chcp
for /f "tokens=1 delims=. " %%a in ('date /t') do set yyyy=%%a
...és kérlek, ha az xcopy akár hibával, akár jól fut le most, akkor is küldjél légyszíves egy ugyanilyen futáseredményt, mint az elébb

-
csaszizoltan
csendes tag
Kérlek próbáljuk meg az alábbit, hogy lássuk mi történik
- Kiütjük a NAS-sal kapcsolatos tevékenységeket
- X. helyett a C: egységre másolunk, hogy lássuk egyáltalán megtörténne-e a másolás csak a gépen NAS nélkül
- pause-t rakunk a végére, hogy lássuk a dos ablakon, a Gábor szó (ékezet) helyesen jelenik-e megcp 1250
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%
Rem net use x: \\NAS\Iroda
md "C:\Gabor\backup\%folderdate%\Outlook\"
xcopy C:\Users\Gábor\AppData\Local\Microsoft\Outlook C:\Gabor\backup\%folderdate%\Outlook\ /e /h /r /y /k /c
Rem net use x: /delete
pause -
csaszizoltan
csendes tag
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: /deleteSziasztok!
Az idézőjel most nem kell, az inkább a filepath-ban szereplő szóközre illetve a command line vezérlő karaktereinek elfedésére van ("<space>|<>/" stb. ), de pont ezért mégiscsak sose árt.
A valószínű megoldást itt tárgyalják, ha mondjuk az egyszerű notapad-dal készült a batch file::
Ékezetes batch filetehát ?.bat első sorába:
chcp 1250
for /f "tokens=1 delims=. " %%a in ('date /t') do set yyyy=%%a
.
.
.A tanulság: egész egyszerűen nem szabad a user könyvtárat ékezetesnek megadni a Windows telepítése során, és sajnos (úgy tudom) később már nem írható át, ezzel (ékezetes usermappanév) volt nekem régebben a legtöbb problémám, egyéb ékezetes file-okra meg elenyésző, mert legfeljebb átírtam a file nevét angol ABC-re.
-
csaszizoltan
csendes tag
Ü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?

A time-mal már nehezebb a dolog
Echo %time%
a kettőspontokat le kell cserélni így
Echo %time::=-%
vagy mondjuk pontra
Echo %time::=.%
továbbá hogy elnyelje a filenévmegadásnál a vesszőt (tizedszázadmásodperc) is, idézőjelezni is kell
dir *.*>>"filename%date%%time::=.%.txt"
-
csaszizoltan
csendes tag
Hello!
Hogy tudom meg csinálni, hogy a betch file ne kezelje az & jelent, mert így nem jó:
IF EXIST %USERPROFILE%\Desktop\Kerulet_szamito.vbs (
ECHO Msgbox "A negyszog Kerulete ""^&"Kerulet"^&"" cm!", , "Kerulet szamito">> %USERPROFILE%\Desktop\Kerulet_szamito.vbs ) ELSE (
ECHO Msgbox "A negyszog Terulete ""^& Terulet"^&"" cm2!", , "Terulet szamito">> %USERPROFILE%\Desktop\Terulet_szamito.vbs )
PAUSESzia!
Kérlek írd le, hogy mi az a két sor, amit szeretnél látni a Kerulet_szamito.vbs-ben, mert a vbs képességeim még gyatrábbak, mint a bat tudásaim, egyébként a ^&-nak a kalap-pal együtt szerepeltetése jó irány.
Most látom, hogy négy helyen "" (duplán kitett idézőjelek) szerepel, ha mind a négy helyen az egyiket kitörlöd és a második ECHO-ban a
& Terület"^& helyett
& "Terület"^& -t írsz (egy idézőjel beszúrása tulajdonképpen csak), akkor helyrerázódhatnak a dolgok.
Ha mégsem ,akkor várom a elvártat
Üdv.
-
csaszizoltan
csendes tag
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%
:vegeSzia!
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.
-
csaszizoltan
csendes tag
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]Nagyon köszönöm a magyarázatot és linket , rátapintottál arra, amiről eddig intuitíve azt hittem, hogy simán csak utasításfelsorolás (a && és a || a & szinonimái).

-
csaszizoltan
csendes tag
Ső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

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!
-
csaszizoltan
csendes tag
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?
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.
-
csaszizoltan
csendes tag
Szia!
Több dologra is oda kell majd figyelni:
1. Ne legyen a filenevekben és a pathokban magyar ékezet, mert a szövegszerkesztőmben másképp definiálja mint a batch futtatásakor (azt hiszem meg lehet csinálni ékezetesekkel is, csak most ezzel én inkább nem bajlódnék
)2. A filenevek szigorúan 101-től kezdődjenek (Set First=101) és ne száznál alacsonyabb értéktől (Ne 099, ne 97, ne 002, ne 1 stb), mert most nem tudnék balról 0-val feltöltést asorszámra vonatkozólag írni batch-ben.
3. A filenevekben a sorszámok szigorúan egymásután egyesével kövessék egymást (ne legyen kihagyás, vagy ismétlődés különböző kiterjesztésekkel) és szigorúan egységes filenév szerkezettel rendelkezzenek a kiterjesztéssel egyetemben. Nem nagy tragédia, ha nincs, vagy nem megfelelő sorszámú, szerkezetű képfile(ok) van, de akkor aznap nem lesz kép.
4. A filenevekben belül a sorszámok mindig ismételjék meg egymást (tehát ne legyen 102_reklam103.jpg hanem 102_reklam102.jpg).
5. Az utolsó filenév sorszám 999 lehet - át lehet írni 1001-9999 intervallumra is, kérd akkor újra a közreműködésemet, mert akkor újabb dolgokra kell odafigyelni, pl ne számoljon annyit az első for ciklussal, azzal amelyik kideríti a last, utolsó létező sorszámot
6. Azt hogy melyik sorszámú file-t másolta egy "sorszám.txt" (mondjuk 103.txt) létezésével és sorszámának ciklikus növelésével tárolja a képek mappában
7. tehát létre kell hozni a FromPath mappában egy 101.txt akár üres file-t.
8. Esetleg ki kell próbálni a batch file ismételt futtatásával először 4-5 képfile-on hogy működik-e, vált a következőre és az elsőre (csak a képsorszámot echo-zom a képernyőre)
9. A "Set First=" "Set FromPath=" és "Set ToPath=" sorokat (a pathoknál záró \ nélkül) ki kell tölteni értelemszerűen.
10. Nem tudom, hogy itt a fórumon szokás-e, lehet-e, de ha lehet, akkor a pár órás ügyködésemmel arányos összeget felajánlhatnál a wikipedia-nak

@Echo Off
Set First=101
Set FromPath=D:\Batch\Kepek
Set ToPath=D:\Batch\Aktualis
Rem az utolso sorszam megkeresese es a Last-ba ertekedasa
For /L %%L In (%First%, 1, 999) Do If exist %FromPath%\%%L_reklam%%L.jpg Set Last=%%L
Rem Esetleg a sok kozul egy hianyzo sorszam kiirasa
Set Absent=000
For /L %%A In (%First%, 1, %Last%) Do If not exist %FromPath%\%%A_reklam%%A.jpg Set Absent=%%A
If %Absent%==000 Goto Tovabb
Echo Legalabb egy sorszamu file hianyzik es az a kovetkezo: %Absent%
:Tovabb
Rem Az elozo napi aktualis sorszam megkeresese es az Prev-be toltese
For /L %%P In (%First%, 1, %Last%) Do If exist %FromPath%\%%P.txt Set Prev=%%P
Rem If,Else,EndIf-ig: A ciklikusan kovetkezo aktualis sorszam megkeresese es Next-be toltese
If %Prev%==%Last% Goto Else
For /L %%N In (%Last%, -1, %Prev%) Do If not exist %FromPath%\%%N.txt Set Next=%%N
Goto EndIf
:Else
Set Prev=%Last%
Set Next=%First%
:EndIf
Echo Az aktualis kepsorszam: %Next%
Ren %Prev%.txt %Next%.txt
Copy %FromPath%\%Next%_reklam%Next%.jpg %ToPath%\reklam.jpg >%FromPath%\log.txtÉs egy javított:
(ha nincs "sorszam.txt" akkor az első sorszámtól kezdve létrehoz)@Echo Off
Set First=101
Set FromPath=D:\Batch\Kepek
Set ToPath=D:\Batch\Aktualis
Rem az utolso sorszam megkeresese es a Last-ba ertekedasa
Set Last=%First%
For /L %%L In (%First%, 1, 999) Do If exist %FromPath%\%%L_reklam%%L.jpg Set Last=%%L
Rem Esetleg a sok kozul egy hianyzo sorszam kiirasa
Set Absent=000
For /L %%A In (%First%, 1, %Last%) Do If not exist %FromPath%\%%A_reklam%%A.jpg Set Absent=%%A
If %Absent%==000 Goto Tovabb
Echo Legalabb egy sorszamu file hianyzik es az a kovetkezo: %Absent%
:Tovabb
Rem Az elozo napi aktualis sorszam megkeresese es az Prev-be toltese
Set Prev=%First%
For /L %%P In (%First%, 1, %Last%) Do If exist %FromPath%\%%P.txt Set Prev=%%P
Rem If,Else,EndIf-ig: A ciklikusan kovetkezo aktualis sorszam megkeresese es Next-be toltese
If %Prev%==%Last% Goto Else
Set Next=%Last%
For /L %%N In (%Last%, -1, %Prev%) Do If not exist %FromPath%\%%N.txt Set Next=%%N
Goto EndIf
:Else
Set Prev=%Last%
Set Next=%First%
:EndIf
Echo Az aktualis kepsorszam: %Next%
Del %FromPath%\%Prev%.txt >%FromPath%\log.txt
Echo >%FromPath%\%Next%.txt
Rem Ren %Prev%.txt %Next%.txt
Copy %FromPath%\%Next%_reklam%Next%.jpg %ToPath%\reklam.jpg >%FromPath%\log.txt -
csaszizoltan
csendes tag
Sziasztok!
Bocsánat, ha kicsit érthetetlenül írtam.
Szóval a munkahelyemen a következő volt eddig: pár száz win kliensnek azt kellett beállítani, hogy 10 perc inaktivitás után mikor elindul a képernyő kímélő, egy megadott mappából játszon le képeket beállított sorrendben egymás után.
A marketing osztály ezt a szerveren egy megosztásba másolja és innen szinkronizáltatom a kliensek felé házirendből.(azaz másolom a kiensek könyvtárába)
A képek formátuma: 101_reklám01,102_reklám02..11x_reklám11x
Viszont új kérésük, hogy csak napi egy kép legyen 101_reklám01 és következő nap a sorrendben következő egész nap.
Erre szerettem volna scriptet írni, hogy autómatikus legyen.
Arra gondoltam, hogy lesz a mappa, mit ők karbantartanak és lesz még a szerveren egy, amit küldök a kliensek felé, ami sorrendben helyes képet (egyet) tartalmazza.
Csak hát ugye ki kell olvasnom mi van a küldendő mappában nap végén és a sorrendben következőt a tárból betenni a régit törölni, amig van szám, mert utána újra az első.
Na itt akadtam el, kézzel biztosan nem fogom váltogatni.
Java-ból van némi tapasztalatom, de itt nem lehet objektumot összehasonlítani, ráadásul az első három karaktert kell figyelnem.Remélem így már jobban leírtam a problémát.
Köszönöm, ha van időtök ezen gondolkozni kicsit.
Szép estét, LaciSzia!
Több dologra is oda kell majd figyelni:
1. Ne legyen a filenevekben és a pathokban magyar ékezet, mert a szövegszerkesztőmben másképp definiálja mint a batch futtatásakor (azt hiszem meg lehet csinálni ékezetesekkel is, csak most ezzel én inkább nem bajlódnék
)2. A filenevek szigorúan 101-től kezdődjenek (Set First=101) és ne száznál alacsonyabb értéktől (Ne 099, ne 97, ne 002, ne 1 stb), mert most nem tudnék balról 0-val feltöltést asorszámra vonatkozólag írni batch-ben.
3. A filenevekben a sorszámok szigorúan egymásután egyesével kövessék egymást (ne legyen kihagyás, vagy ismétlődés különböző kiterjesztésekkel) és szigorúan egységes filenév szerkezettel rendelkezzenek a kiterjesztéssel egyetemben. Nem nagy tragédia, ha nincs, vagy nem megfelelő sorszámú, szerkezetű képfile(ok) van, de akkor aznap nem lesz kép.
4. A filenevekben belül a sorszámok mindig ismételjék meg egymást (tehát ne legyen 102_reklam103.jpg hanem 102_reklam102.jpg).
5. Az utolsó filenév sorszám 999 lehet - át lehet írni 1001-9999 intervallumra is, kérd akkor újra a közreműködésemet, mert akkor újabb dolgokra kell odafigyelni, pl ne számoljon annyit az első for ciklussal, azzal amelyik kideríti a last, utolsó létező sorszámot
6. Azt hogy melyik sorszámú file-t másolta egy "sorszám.txt" (mondjuk 103.txt) létezésével és sorszámának ciklikus növelésével tárolja a képek mappában
7. tehát létre kell hozni a FromPath mappában egy 101.txt akár üres file-t.
8. Esetleg ki kell próbálni a batch file ismételt futtatásával először 4-5 képfile-on hogy működik-e, vált a következőre és az elsőre (csak a képsorszámot echo-zom a képernyőre)
9. A "Set First=" "Set FromPath=" és "Set ToPath=" sorokat (a pathoknál záró \ nélkül) ki kell tölteni értelemszerűen.
10. Nem tudom, hogy itt a fórumon szokás-e, lehet-e, de ha lehet, akkor a pár órás ügyködésemmel arányos összeget felajánlhatnál a wikipedia-nak

@Echo Off
Set First=101
Set FromPath=D:\Batch\Kepek
Set ToPath=D:\Batch\Aktualis
Rem az utolso sorszam megkeresese es a Last-ba ertekedasa
For /L %%L In (%First%, 1, 999) Do If exist %FromPath%\%%L_reklam%%L.jpg Set Last=%%L
Rem Esetleg a sok kozul egy hianyzo sorszam kiirasa
Set Absent=000
For /L %%A In (%First%, 1, %Last%) Do If not exist %FromPath%\%%A_reklam%%A.jpg Set Absent=%%A
If %Absent%==000 Goto Tovabb
Echo Legalabb egy sorszamu file hianyzik es az a kovetkezo: %Absent%
:Tovabb
Rem Az elozo napi aktualis sorszam megkeresese es az Prev-be toltese
For /L %%P In (%First%, 1, %Last%) Do If exist %FromPath%\%%P.txt Set Prev=%%P
Rem If,Else,EndIf-ig: A ciklikusan kovetkezo aktualis sorszam megkeresese es Next-be toltese
If %Prev%==%Last% Goto Else
For /L %%N In (%Last%, -1, %Prev%) Do If not exist %FromPath%\%%N.txt Set Next=%%N
Goto EndIf
:Else
Set Prev=%Last%
Set Next=%First%
:EndIf
Echo Az aktualis kepsorszam: %Next%
Ren %Prev%.txt %Next%.txt
Copy %FromPath%\%Next%_reklam%Next%.jpg %ToPath%\reklam.jpg >%FromPath%\log.txt -
csaszizoltan
csendes tag
Sziasztok!
Lenne egy feladatom, amit batchban kellene megoldani.
Van egy képeket tartalmazó mappa, ami 01_*.jpg maszkkal tartalmaz úgy 50 képet.
És van egy aktuális mappa, amiben minden nap egyel nagyobb sorszámú képnek kell lennie, amíg van kép és utána az elsőszámú.A napi futtatást egy feladatütemező végzi.
Tehát kiolvasni az aktuális mappában lévő mondjuk első két karater*.jpgt ->01.Megvizsgálni, hogy van-e 02_valami.jpg, ha van régi törlés új másolás.
Nem nagyon tudom eddig megoldani.Vagy bonyolultan csinálom.
Köszönöm, ha van valakinek ideje hozzá.
Üdv!
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.
Ú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
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- OTP Bank topic
- Thermal Grizzly által kupaktalanított processzor, csak most a kék térfélről
- EAFC 26
- Projektor topic
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Forza sorozat (Horizon/Motorsport)
- Autós topik
- Kormányok / autós szimulátorok topikja
- Fejhallgató erősítő és DAC topik
- További aktív témák...
- Új, bontatlan - Apple MacBook Air 13 M4 16/256GB - Sky Blue
- Új Dobozos ASUS VivoBook Go 15 Laptop 15,6" -20% Ryzen 5 7520U 16/512 Radeon Graphics FHD OLED
- Új HP ZBook Firefly 16 G10 Profi Tervező Vágó Laptop -50% i7-1355U 16/1TB FHD+ RTX A500 4GB
- Macbook Pro 16" A2485 2021 M1 MAX 32/1TB 32 GPU Astro (2) (39 ciklus 97% akku)
- Intel Core ULTRA 9 285K +32GB 7600MHz Patriot Viper XTREME 5 DDR5 kit! (Bolti ár: kb 600ezer Ft!)
- GYÖNYÖRŰ iPhone 14 Pro Max 512GB Deep Purple -2 ÉV GARANCIA - Kártyafüggetlen, MS5374, 99% AKKSI
- Dell Latitude 5430 14" Touchscreen i5-1235U 16GB 512GB 1 év garancia
- iKing.Hu - Apple MacBook Pro 14 M3 Pro (2023) 18GB/500GB SSD karcmentes 100% akku 23 ciklus
- Új DELL Inspiron 14 (5435)/AMD RYZEN 7-7730U/16GB/512 SSD/14"/FHD/IPS/Garancia
- 238 - Lenovo Legion Pro 7 (16IRX8) - Intel Core i9-13900HX, RTX 4070
Állásajánlatok
Cég: aiMotive Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest











