Toon posts:

[batch+7-zip]multi-zips met punten,spaties en submappen

Pagina: 1
Acties:

Acties:
  • 0Henk 'm!

  • M0nkeymen
  • Registratie: Maart 2009
  • Laatst online: 20:40
Ik weet niet of dit het juiste forum is maar hier stonden de meeste batch gerelateerde dingen in. Ik probeer een batch file te maken die alle DWG's zipt op de plek waar ze staan, dus in submappen.

Dit is het nu:
C:\Users\Beneden\Desktop\ziptest\Hoofdmap\submap 1\teke.ning2.dwg
C:\Users\Beneden\Desktop\ziptest\Hoofdmap\submap 1\tek.ening1.dwg
C:\Users\Beneden\Desktop\ziptest\Hoofdmap\submap 2\tekening3.dwg
C:\Users\Beneden\Desktop\ziptest\Hoofdmap\submap 2\te.kening4.dwg

Dit moet het worden:
C:\Users\Beneden\Desktop\ziptest\Hoofdmap\submap 1\teke.ning2.zip
C:\Users\Beneden\Desktop\ziptest\Hoofdmap\submap 1\tek.ening1.zip
C:\Users\Beneden\Desktop\ziptest\Hoofdmap\submap 2\tekening3.zip
C:\Users\Beneden\Desktop\ziptest\Hoofdmap\submap 2\te.kening4.zip

nu kom ik met deze code een heel eind:
code:
1
2
3
dir *.dwg /OE /S /B >C:\Users\Beneden\Desktop\ziptest\test.txt
FOR /F "tokens=1,2 delims=." %%I in (C:\Users\Beneden\Desktop\ziptest\test.txt) do "C:\Program Files\7-Zip\7z.exe" a -tzip "%%I.%%J.zip" "%%I.%%J.dwg"
pause


maar nu doet hij het natuurlijk niet, omdat er ook tekeningen zijn zonder punten... Mijn vraag is eigenlijk "Hoe los je zoiets het beste op?" en "zijn er verbeter punten aan te brengen in mijn code?" wat als er spaties in mijn documentnaam zitten?

psn: M0nkeymen81 | Inglourious Guardians


  • Nielson
  • Registratie: Juni 2001
  • Laatst online: 19:42
Waarschijnlijk nog niet helemaal perfect, maar misschien kom je hier weer wat verder mee:


code:
1
FOR /F "tokens=*" %%A IN ('DIR C:\Users\Beneden\Desktop\ziptest\*.dwg /S /B') DO "C:\Program Files\7-Zip\7z.exe" a "%%~dpnA.zip" "%%A"

  • M0nkeymen
  • Registratie: Maart 2009
  • Laatst online: 20:40
Nielson schreef op zaterdag 09 juli 2011 @ 10:40:
Waarschijnlijk nog niet helemaal perfect, maar misschien kom je hier weer wat verder mee:

code:
1
FOR /F "tokens=*" %%A IN ('DIR C:\Users\Beneden\Desktop\ziptest\*.dwg /S /B') DO "C:\Program Files\7-Zip\7z.exe" a "%%~dpnA.zip" "%%A"
Als ik het goed begrijp:
"tokens=*" haalt de spatie's eruit?
%%~dpnA.zip plakt drive-letter, pad en bestandsnaam aan elkaar zonder extentie.
('DIR C:\Users\Beneden\Desktop\ziptest\*.dwg /S /B') filter het lijstje met dwg's

Klopt dit? Hmm perfect, thx!

psn: M0nkeymen81 | Inglourious Guardians


  • Nielson
  • Registratie: Juni 2001
  • Laatst online: 19:42
"tokens=*" haalt de spatie's eruit?
Zo ongeveer. Als je delims niet definieert staat deze standaard op spatie en tab, waardoor een path/bestandsnaam met spaties dus opgedeeld wordt in verschillende tokens. Met tokens=* worden deze allemaal weer toegekend aan de eerste variabele.
%%~dpnA.zip plakt drive-letter, pad en bestandsnaam aan elkaar zonder extentie.
('DIR C:\Users\Beneden\Desktop\ziptest\*.dwg /S /B') filter het lijstje met dwg's. Klopt dit?
Jup. 't Zal vast ook wel anders kunnen (meestal wordt hier bij dit soort vragen meteen verwezen naar vbscript of powershell), maar 't gaat om het resultaat toch?

  • M0nkeymen
  • Registratie: Maart 2009
  • Laatst online: 20:40
Ok duidelijk, bedankt! :*)

psn: M0nkeymen81 | Inglourious Guardians



Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee