Toon posts:

[XP] batch: file listing*

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zou voor iemand een proggy moeten maken voor snel de content van een folder images om te zetten naar een xml. Nu wou ik dit graag doen met een batchfile aangezien dit simpel en klein is om te runnen.
Is echter eeuwen geleden dat ik dit op school heb gezien en ik geraak er niet echt uit.

Ik gebruik dit voor mijn export van mijn folder files:

dir /b > filelist.txt

Maar ik zou voor en achter elke lijn nog iets moeten zetten natuurlijk, want ik vind niet op internet hoe je files kan overlopen in een lusje of zo. Iemand enig idee of kan ik dit beter anders aanpakken (andere taal of zo)

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:29
Batch scriptjes horen niet thuis in P&W, maar in het juiste OS - subforum. In dit geval dus, in WOS.
-> WOS

https://fgheysels.github.io/


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Wat bedoel je met "de content van een folder images om te zetten naar een xml"? En waarom XML, omdat dat in de huiswerkopdracht staat?

Lusjes / loops: daar is FOR voor. Op zich kom je een eind met dir /b naar een tempfile, dan met FOR daar doorheen lopen en per regel wat tags er omheen zetten. Zie FOR /? voor het hoe en wat. Of beter: check de SA FAQ voor links naar sites die het behandelen.

Makkelijker is VBScript gaan gebruiken omdat batch files niet echt lekker omspringen met EndOfLines. (Zie de vele WSH/VBScript tutorials voor het hoe en wat).

Hoe dan ook: over welk OS hebben we het? DOS3 heeft andere mogelijkheden dan Windows XP.

[ Voor 8% gewijzigd door F_J_K op 24-10-2005 17:39 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Verwijderd

Topicstarter
F_J_K schreef op maandag 24 oktober 2005 @ 17:38:
Wat bedoel je met "de content van een folder images om te zetten naar een xml"? En waarom XML, omdat dat in de huiswerkopdracht staat?
Xml omdat zijn website xml files eet en tot nu toe heeft hij altijd mooi deze met de hand gemaakt.
Zoveel keuzes heb ik dus niet.
Ik zal vbscript eens bekijken.

ps tgaat over winxp

[ Voor 7% gewijzigd door Verwijderd op 24-10-2005 17:56 ]


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Ik zou vbscript gebruiken hiervoor. (eventueel javascript kan ook)

Multimonitor is relax :P


  • Pwigle
  • Registratie: December 2000
  • Laatst online: 16-03 10:45
Wat leuk om te lezen dat er (naast mij) nog steeds mensen zijn die batch scriptjes gebruiken.
Een good-old-batch script blijft leuk :)
FOR %%c in (C:\temp\*.*) DO echo BLA %%c BLA
geeft:
BLA C:\temp\Smartphone_over.bmp BLA
BLA C:\temp\sylia.dll BLA
BLA C:\temp\temp.sh BLA
BLA C:\temp\test.bat BLA
BLA C:\temp\test.txt BLA
BLA C:\temp\users.txt BLA
BLA C:\temp\VGA.bmp BLA
BLA C:\temp\VGA_disabled.bmp BLA
BLA C:\temp\VGA_over.bmp BLA
BLA C:\temp\VirtualDub.exe BLA
BLA C:\temp\vstrip.exe BLA
BLA C:\temp\words.txt BLA
BLA C:\temp\xvidcore.dll BLA
Heb je hier iets aan?

Je gaat wel problemen krijgen als je bijvoorbeeld <XML> ofzo erin wilt zetten, de vishaken trekt ie niet. Je kan dan als ranzige tussenoplossing het volgende doen: type vishaak.txt>>output (de vishaak.txt vul je dan met <XML>)

Dan zou je dit als 'code' krijgen:
@echo off
del output.txt
FOR %%c in (C:\temp\*.*) DO echo %%c>>output.txt|type vishaak.txt>>output.txt
met als output.txt:
<XML>
C:\temp\users.txt
<XML>
C:\temp\VGA.bmp
<XML>
C:\temp\VGA_disabled.bmp
<XML>
C:\temp\VGA_over.bmp
<XML>
C:\temp\VirtualDub.exe
<XML>
C:\temp\vstrip.exe
<XML>
C:\temp\words.txt
<XML>
C:\temp\xml.txt
<XML>
C:\temp\xvidcore.dll
<XML>

[ Voor 46% gewijzigd door Pwigle op 24-10-2005 18:14 ]


Verwijderd

Topicstarter
thx a lot voor de info, ik zou het echter in 1 file willen houden.
Ik heb nu dit:

echo "<?xml version='1.0'?>" > test.txt
echo "<gallery name='mill'>" >> test.txt
FOR %%c in (*.*) DO echo "<jpg file='"%%c"'/>" >> test.txt
echo "</gallery>" >> test.txt

Ik ga nu proberen in datzelfde script die " eruit proberen te filteren in de net aangemaakte bestand, ofwel ga ik alles in een variabele proberen te steken en die dan in zijn totaal exporten zonder ".
Ook moet ik nog even uitzoeken hoe je de naam van de huidige folder kan opvragen 'mill' moet namelijk vervangen worden door die naam.

Bedankt alleszins

  • Pwigle
  • Registratie: December 2000
  • Laatst online: 16-03 10:45
Ik ga nu proberen in datzelfde script die " eruit proberen te filteren in de net aangemaakte bestand
Succes :) (je kan dus ook zonder "" die tekens wegschrijven zoals ik hierboven al vermeld had).
Ook moet ik nog even uitzoeken hoe je de naam van de huidige folder kan opvragen 'mill' moet namelijk vervangen worden door die naam.
probeer "cd" eens ;)
Pagina: 1