Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Dateien erstellen

Frage Entwicklung Batch & Shell

Mitglied: powl89

powl89 (Level 1) - Jetzt verbinden

29.10.2008, aktualisiert 31.10.2008, 4223 Aufrufe, 7 Kommentare

Hallo zusammen,

ich will eine kleine Konsolenanwendung via Batch schreiben.
Sie soll folgendes erledigen:
Ich hab einen Ordner, in dem diverse *.xml Dateien vorhanden sind.
Diese Anwendung soll jetzt zu jeder *.xml Datei eine *.rdy Datei mit einem identischen Namen erzeugen.

Bisher bin ich soweit:

@echo off & setlocal
for %%i in ("C:\Pfad\*.*") do if not exist "%%i.rdy" echo\>"%%i.rdy"

Funktioniert soweit auch.
Allerdings heißen die Dateien bei mir dann "Dateiname.xml.rdy".
Wie bekomme ich nun das kürzel ".xml" aus dem Namen meiner *.rdy Datei?

Gruß

Paul
Mitglied: powl89
29.10.2008 um 16:05 Uhr
bin jetzt soweit, dass die Datei ohne das .xml erzeugt wird:

@echo off & setlocal
for %%i in ("C:\Pfad\*.*") do for /F "delims=." %%n in ("%%i") do if not exist "%%n.rdy" echo\>"%%n.rdy"


Allerdings ist es doch jetzt der Fall, dass es zu Problemen kommt, sobald mehrere "." in dem Dateinamen enthalten sind oder?
Bitte warten ..
Mitglied: bastla
29.10.2008 um 16:11 Uhr
Hallo powl89 und willkommen im Forum!

Besser wird's so gehen:
01.
@echo off & setlocal 
02.
for %%i in ("C:\Pfad\*.xml") do if not exist "%%~dpni.rdy" echo\>"%%~dpni.rdy"
Mit "for /?" und der nötigen Geduld, bis fast an's Ende zu lesen (oder zumindest zu blättern ), kannst Du das dann hoffentlich nachvollziehen ...

Grüße
bastla

P.S.: Falls Dir die Formatierung meines Code-Beispiels gefallen sollte: http://www.administrator.de/helpsystem/detail.php?idx=20#toc26
Bitte warten ..
Mitglied: powl89
31.10.2008 um 08:40 Uhr
Hey bastla,

das mit dem ~dpni hatte ich zuvor schonmal gesehen, hatte allerdings immer ein "-" statt "~" verwendet
Klappt auf jeden Fall einwandfrei.

Vielleicht könntest du mir aber nochmal kurz erklären was jetzt genau passiert durch das "~dpni" !?
Bin nicht so ganz bewandert was BATCH angeht ;)

Besten Dank !

Gruß
powl
Bitte warten ..
Mitglied: bastla
31.10.2008 um 08:58 Uhr
Hallo powl89!

... was jetzt genau passiert durch das "~dpni" !?
... steht, wie erwähnt, in der Hilfe zu "for" (in "Einzelteilen" ).

In diesem Fall hier steht bei jedem Schleifendurchlauf in "%%i" der vollständige Pfad einer ".xml"-Datei - dieser Pfad setzt sich zusammen aus:

drive = Laufwerk = "C:"
path = Pfad = "\Pfad\"
name = Dateiname = "DerName"
extension = Typ = ".xml"

Mit Ausnahme des Typs (dafür willst Du ja ".rdy" verwenden), wird alles andere benötigt ...

Grüße
bastla
Bitte warten ..
Mitglied: powl89
31.10.2008 um 09:37 Uhr
Hey bastla,

vielen Dank. Das hat mich um einiges weitergebracht.
Eine letzt kleine Frage hätte ich aber noch:

Wofür steht das i ?

Wie gesagt, bin nicht ganz bewandert was BATCH angeht

Gruß
powl
Bitte warten ..
Mitglied: bastla
31.10.2008 um 09:45 Uhr
Hallo powl89!
Wofür steht das i ?
In "for"-Schleifen werden einzelne Buchstaben als Schleifenvariable verwendet, und "i" wird dafür vorwiegend (wie auch in anderen Programmiersprachen) verwendet - der Buchstabe ist aber frei wählbar, daher könnte die Schleife auch lauten:
for %%a in ("C:\Pfad\*.xml") do if not exist "%%~dpna.rdy" echo\>"%%~dpna.rdy"
Der Teil "~dpn" wird dann einfach zwischen "%%" und dem Buchstaben eingefügt.

Grüße
bastla
Bitte warten ..
Mitglied: powl89
31.10.2008 um 09:47 Uhr
Alles klar, so hab ichs mir vorgestellt.
Danke

Ist es evtl. auch möglich, dass die Batchdatei sich den Pfad speichert, in dem sie ausgeführt wird?
Sprich ich führ die Datei auf dem Desktop aus, also sollen da die Dateien gesucht und erzeugt werdne.
Führe ich sie in einem anderen ordner aus, soll dies dort geschehen.
So dass ich also den Pfad nicht manuell angeben muss !?

Gruß
powl

[EDIT]
Habs hinbekommen.
Vielen Dank bastla.
[/EDIT]
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch Datei zum Kopieren aktueller Dateien erstellen (5)

Frage von daniel011 zum Thema Batch & Shell ...

Grafik
gelöst Programme zum erstellen von Vectoring Dateien (13)

Frage von Hendrik2586 zum Thema Grafik ...

Batch & Shell
Mehrere AD Benutzer aus CSV Datei mit PowerShell erstellen (1)

Frage von windelterrorist zum Thema Batch & Shell ...

Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 Ordnerfreigabe (21)

Frage von Xaero1982 zum Thema Windows 10 ...

Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Monitoring
Netzwerk-Monitoring Software (18)

Frage von Ghost108 zum Thema Monitoring ...

Windows 10
Seekrank bei Windows 10 (15)

Frage von zauberer123 zum Thema Windows 10 ...