Pfad auslesen und in eine Textdatei mit Zusatz werfen
Hi
habe ein neues Anliegen, die einzelnen Komponenten sind eigentlich recht einfach aber ich komm nicht weiter.
Ich habe einen fest definierten Ordner der *.jpg enthält der soll nun ausgelesen werden und der absolute Pfad mit ein paar anderen Zeilen in eine Datei geschrieben werden.
Die Datei dient für eine Slideshow eines Programms, die Syntax ist immer die gleiche, ich füge mal eine Beispiel Datei an:
Es muss also zunächst der Anfang:
eingefügt werden
und danach um den Pfad herum für jeden EIntrag im Ordner
und
als Schwierigkeit kommt dazu dass die Zeilensprünge natürlich wichtig sind.
gibt es einen Befehl mit dem ich den kompletten Pfad auslesen kann oder muss ich an den Dateinamen dann noch den Pfad anhängen?
Und wie bekomme ich dann die übrigen Zeilen drum herum?
Fragen über Fragen
habe ein neues Anliegen, die einzelnen Komponenten sind eigentlich recht einfach aber ich komm nicht weiter.
Ich habe einen fest definierten Ordner der *.jpg enthält der soll nun ausgelesen werden und der absolute Pfad mit ein paar anderen Zeilen in eine Datei geschrieben werden.
Die Datei dient für eine Slideshow eines Programms, die Syntax ist immer die gleiche, ich füge mal eine Beispiel Datei an:
object PresentationSlideShow: TPresentationSlideShow
SlideCollection = <
item
FileName = 'C:\sb\flyer\Angela 4.jpg'
end
item
FileName = 'C:\sb\flyer\Angela 5.jpg'
end
item
FileName = 'C:\sb\flyer\Angela 6.jpg'
end
item
FileName = 'C:\sb\flyer\Angela 7.jpg'
end
item
FileName = 'C:\sb\flyer\Putin 8.jpg'
end
item
FileName = 'C:\sb\flyer\Angela 9.jpg'
end>
Loop = False
FitToScreen = False
end
Es muss also zunächst der Anfang:
object PresentationSlideShow: TPresentationSlideShow
SlideCollection = <
und danach um den Pfad herum für jeden EIntrag im Ordner
item
FileName = '
'
end>
als Schwierigkeit kommt dazu dass die Zeilensprünge natürlich wichtig sind.
gibt es einen Befehl mit dem ich den kompletten Pfad auslesen kann oder muss ich an den Dateinamen dann noch den Pfad anhängen?
Und wie bekomme ich dann die übrigen Zeilen drum herum?
Fragen über Fragen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 173871
Url: https://administrator.de/contentid/173871
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo marsu2!
Versuch es mal so:
Der "Trick" für das Schreiben ohne Zeilenschaltung verwendet eine (simulierte) Eingabe per "
Es wird dabei der nach dem "=" angegebene Text als "Eingabeaufforderung" angezeigt, aber keine Zeilenschaltung angefügt, damit die Eingabe in der gleichen Zeile erfolgen kann.
Damit nicht auf die Eingabe gewartet werden muss, wird per Umleitung der Eingabe (mit "
Im Batch wird diese Funktionalität eigentlich nur nach dem "end" der letzten Datei benötigt - da aber vorweg nicht bekannt ist, wann die letzte Datei erreicht ist, müssen alle Dateien in der Schleife gleich verabeitet werden; es wird daher schon die erste Zeile vor der Schleife ("SlideCollection = <") nicht mit einer Zeilenschaltung ausgegeben, sodass für jede Datei in der Schleife zunächst eine Zeilenschaltung ausgegeben werden (damit wird die nächst Zeile erreicht) und am Ende das "end" wieder so geschrieben werden kann, dass die Zeile vorerst nicht verlassen wird; nach der Schleife kann dann noch das schließende ">" angefügt werden.
Grüße
bastla
Versuch es mal so:
@echo off & setlocal
set "Ordner=C:\sb\flyer"
set "Show=C:\TEMP\Slideshow.txt"
>"%Show%" echo\
>>"%Show%" echo object PresentationSlideShow: TPresentationSlideShow
>>"%Show%" <nul set /p= SlideCollection = ^<
for %%i in ("%Ordner%\*.jpg") do (
echo\
echo item
echo FileName = '%%i'
<nul set /p= end
)>>"%Show%"
>>"%Show%" echo ^>
>>"%Show%" echo Loop = False
>>"%Show%" echo FitToScreen = False
>>"%Show%" echo end
set /p
" - "normal" sähe das zB so aus:set /p Pfad=Bitte den Pfad eingeben:
Damit nicht auf die Eingabe gewartet werden muss, wird per Umleitung der Eingabe (mit "
<nul
") einfach die Eingabe von "Nichts" simuliert.Im Batch wird diese Funktionalität eigentlich nur nach dem "end" der letzten Datei benötigt - da aber vorweg nicht bekannt ist, wann die letzte Datei erreicht ist, müssen alle Dateien in der Schleife gleich verabeitet werden; es wird daher schon die erste Zeile vor der Schleife ("SlideCollection = <") nicht mit einer Zeilenschaltung ausgegeben, sodass für jede Datei in der Schleife zunächst eine Zeilenschaltung ausgegeben werden (damit wird die nächst Zeile erreicht) und am Ende das "end" wieder so geschrieben werden kann, dass die Zeile vorerst nicht verlassen wird; nach der Schleife kann dann noch das schließende ">" angefügt werden.
Grüße
bastla