Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Pfad auslesen und in eine Textdatei mit Zusatz werfen

Frage Entwicklung Batch & Shell

Mitglied: marsu2

marsu2 (Level 1) - Jetzt verbinden

28.09.2011 um 21:48 Uhr, 2901 Aufrufe, 2 Kommentare

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:

01.
  
02.
object PresentationSlideShow: TPresentationSlideShow 
03.
  SlideCollection = < 
04.
    item 
05.
      FileName = 'C:\sb\flyer\Angela 4.jpg' 
06.
    end 
07.
    item 
08.
      FileName = 'C:\sb\flyer\Angela 5.jpg' 
09.
    end 
10.
    item 
11.
      FileName = 'C:\sb\flyer\Angela 6.jpg' 
12.
    end 
13.
    item 
14.
      FileName = 'C:\sb\flyer\Angela 7.jpg' 
15.
    end 
16.
    item 
17.
      FileName = 'C:\sb\flyer\Putin 8.jpg' 
18.
    end 
19.
    item 
20.
      FileName = 'C:\sb\flyer\Angela 9.jpg' 
21.
    end> 
22.
  Loop = False 
23.
  FitToScreen = False 
24.
end


Es muss also zunächst der Anfang:

01.
  
02.
object PresentationSlideShow: TPresentationSlideShow 
03.
  SlideCollection = <
eingefügt werden
und danach um den Pfad herum für jeden EIntrag im Ordner
01.
item 
02.
      FileName = '
und
01.
02.
    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
Mitglied: bastla
28.09.2011 um 22:06 Uhr
Hallo marsu2!

Versuch es mal so:
01.
@echo off & setlocal 
02.
set "Ordner=C:\sb\flyer" 
03.
set "Show=C:\TEMP\Slideshow.txt" 
04.
 
05.
 >"%Show%" echo\ 
06.
>>"%Show%" echo object PresentationSlideShow: TPresentationSlideShow 
07.
>>"%Show%" <nul set /p=  SlideCollection = ^< 
08.
for %%i in ("%Ordner%\*.jpg") do ( 
09.
    echo\ 
10.
    echo     item 
11.
    echo       FileName = '%%i' 
12.
    <nul set /p=    end 
13.
)>>"%Show%" 
14.
>>"%Show%" echo ^> 
15.
>>"%Show%" echo   Loop = False 
16.
>>"%Show%" echo   FitToScreen = False 
17.
>>"%Show%" echo end
Der "Trick" für das Schreiben ohne Zeilenschaltung verwendet eine (simulierte) Eingabe per "set /p" - "normal" sähe das zB so aus:
set /p Pfad=Bitte den Pfad eingeben: 
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 "<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
Bitte warten ..
Mitglied: marsu2
29.09.2011 um 11:11 Uhr
ach ne was geil,

klappt einwandfrei!!!

kann ich mich vielleicht mal mit einem Kasten Bier revanchieren?

Grüße

PS: danke für die Erklärung, so lerne ich auch noch dazu
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst BATCH: Daten aus Textdatei auslesen und in neue Textdatei separieren (9)

Frage von Manuel1234 zum Thema Batch & Shell ...

Google Android
Textdatei auf SD Karte auslesen funktioniert nicht (Oneplus One) (4)

Frage von lordzwieback zum Thema Google Android ...

Batch & Shell
Per Batch Textdatei Spaltenweise auslesen nochmal weil ich dumm bin (9)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Batch & Shell
Batch Textdatei Spaltenweise auslesen (7)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Microsoft
Ordner mit LW-Buchstaben versehen und benennen (19)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...