Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Enoch
    csendes tag

    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 --notls1

    Csak így több sorra bontva teszik olvashatóva a kódot.

    Köszönöm!

  • Enoch
    csendes tag

    Sziasztok! Imapsync-et ismeri valami? Egy batch programból lehet futtani és postafiók tartalmakat lehet szinkronizálni. Van egy loop változata ahol txt fájlból szedi össze amásolni kívánt fiók adatokat.
    Meg lehet adni argumentumokat, ezekkel vagyok elveszve, hogy pontosan hol adom meg.

    CD /D %~dp0

    @REM Let's get arguments of this batch, they will be added to imapsync arguments, if any.
    @REM Do not touch this part to add arguments to imapsync, do that in the FOR loop below
    @SET arguments= & @SET command=%~0
    @IF %1. EQU . GOTO args_end
    :args_loop
    @SET arguments=%arguments% %1 & @SHIFT
    @IF %1. NEQ . GOTO args_loop
    @ECHO Command and arguments: %command% %arguments%
    :args_end

    @REM Now the loop on the csv file.
    SET csvfile=file.txt

    @FOR /F "tokens=1,2,3,4,5,6,7 delims=; eol=#" %%G IN (%csvfile%) DO (
    @REM Blank lines are usually ignored. Dumping the tokens in [] in case debugging is needed
    @ECHO GOT those values from %csvfile% presented inside brackets: [%%G] [%%H] [%%I] [%%J] [%%K] [%%L] [%%M]
    @REM You can add extra arguments to imapsync after the variable named %arguments%
    @ECHO ==== Starting imapsync from --host1 %%G --user1 %%H to --host2 %%J --user2 %%K ====
    @imapsync ^
    --host1 %%G --user1 %%H --password1 %%I ^
    --host2 %%J --user2 %%K --password2 %%L %%M %arguments%
    --automap --useuid --nossl1 --notls1
    @ECHO ==== Ended imapsync from --host1 %%G --user1 %%H to --host2 %%J --user2 %%K ====
    @ECHO.
    )

    @ECHO Loop finished!
    @ECHO Log files are in LOG_imapsync directory
    @PAUSE

    Eddig 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 --notls1

    Ezektre 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!

  • Enoch
    csendes tag

    Sziasztok! Batch programmal lehet valahogy e-mailt küldeni? Saját smtp adott hozzá.

  • Enoch
    csendes tag

    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

    Értem, köszi ezt az infót!

  • Enoch
    csendes tag

    Sziasztok!

    Szeretnék írni egy batch fájlt.

    Van egy adott hálózati könyvtár ahova jön egy könyvtár+3 fájl amelyeknek a nevük mindig változik, csak az első 2-3 karakter nem. Viszont az ott levő könyvtár és fájlok mellett van még egy transfered könyvtár ahova másolás után át helyezem a mappát és fájlokat.

    Azt szeretném csinálni hogy az ottlevő könyvtárat és 3 fájlt továbbá a könyvtárban levő rengeteg fájlt elmásoljam egy másik hálózati gépre de úgy hogy a cél gépen hozzon létre az aktuális nappal (YYYYMMDD) egy könyvtárat és oda helyezze át.

    Transfered
    mappa1 <--az 1-es mindig változik
    file1
    file2
    file3

    mappánál ezzel próbálkoztam:

    xcopy C:\Transfer\Forras\mappa* C:\Transfer\cel\%date% /S

    Válaszotok előre is köszönöm!

    Üdv,

    Szia!

    A másoláshoz és mappa dátumozáshoz kicsit feljebb a hozzászólásaik közt találhatsz alternatívát.

  • Enoch
    csendes tag

    Először is elnézést a hibáért, tényleg chcp és nem cp (lemaradt a másolásból a ch). :W
    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 :)

    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 . . .

  • Enoch
    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 meg

    cp 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

    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.

  • Enoch
    csendes tag

    Sziasztok!

    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 file

    tehá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.

    Köszönöm a választ! A "chcp 1250" parancs sem oldotta meg. Így sem másolja át, csak a mappát hozza létre. Próbáltam, hogy kitettem az "" jeleket is.

    Azt tudom ha a .pst csatolva van akkor nem engedi másolni, de az outlook le van állatva.

  • Enoch
    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: /delete

Új hozzászólás Aktív témák

Hirdetés