Top-Themen

Aktuelle Themen (A bis Z)

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

Mitglied: marsu2

marsu2 (Level 1) - Jetzt verbinden

28.09.2011 um 21:48 Uhr, 2953 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 ..
Ähnliche Inhalte
Batch & Shell

Textdatei mit Dateipfaden auslesen und die Dateien lt. dem Pfad downloaden

gelöst Frage von skiing69Batch & Shell5 Kommentare

Hallo, ich soll von einem Web-Server diverse Dateien automatisiert mit einem Batchprogramm downloaden. Die Dateipfade der einzelnen Dateien stehen ...

Batch & Shell

Einen bestimmten Teil einer Textdatei auslesen

gelöst Frage von Focus1610Batch & Shell5 Kommentare

Hallo, ich brauche mal einen Denkanstoß. Ich bekomme per FTP von einem Kunden täglich mehrere Textdateien. Diese haben unterschiudlich ...

Batch & Shell

Auslesen der "LAN-Verbinung" in eine Textdatei

gelöst Frage von simonsaysBatch & Shell2 Kommentare

Hallo Gleich mal vorab: Ich bin ein Batch-Nullinger :-) Wir verwenden fixe IP-Adressen und fixe DNS-Server Jetzt hätte ich ...

Batch & Shell

Batch Textdatei Spaltenweise auslesen

Frage von PinkFLuffyUnicornBatch & Shell7 Kommentare

hi, ist es irgendwie möglich anstatt eine Textdatei via Batch Spaltenweise auszulesen und nicht zeilenweise wie das normal ganz ...

Neue Wissensbeiträge
E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 2 StundenE-Mail1 Kommentar

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 3 StundenHyper-V

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Sicherheits-Tools

Trend Micro WorryFree Business Security (WFBS) 10 - neuer Patch 1470 verfügbar

Tipp von VGem-e vor 7 StundenSicherheits-Tools

Servus, mal sehen, ob mit Patch 1470, zu finden unter dann die angeblich fehlerhafte Funktion, die unter W10 im ...

Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 20 StundenServer-Hardware3 Kommentare

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Heiß diskutierte Inhalte
Windows Server
Mit der alten Domäneprofil anmelden ohne Server
gelöst Frage von SyosseWindows Server36 Kommentare

Hallo Jungs Folgendes Szenario: Ich habe bei einem sehr kleinen Unternehmen (2Personen) den Server migriert, soweit hat alles geklappt. ...

Sicherheits-Tools
Virenprogramm lässt Programme nicht starten
Frage von SurferGirlSicherheits-Tools23 Kommentare

Hallo, ich bin neu hier, ich hoffe ich habe die richtige Rubrik gewählt. Falls nicht, tut es mir leid. ...

Windows Server
Kann DNS-Einträge nicht finden
gelöst Frage von BPeterWindows Server19 Kommentare

Hallo, wenn ich folgenden Befehl absetze, bekomme ich eine Liste zurück mit allen Einträgen der DNS-Zone. Wenn ich aber ...

Windows Server
SQL Server Instanz (Eplan) auf WIN 2008 RC2 Server frisst RAM ohne Limit
Frage von derinderinderinWindows Server17 Kommentare

Hallo Zusammen, Wir haben hier einen Windows 2008 RC2 Server. Darauf läuft ein SQL Server Express 2014 Version 12.0.4232.0. ...