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

Variabler Dateiname innerhalb einer Batchdatei

Frage Entwicklung Batch & Shell

Mitglied: Spikeee

Spikeee (Level 1) - Jetzt verbinden

24.02.2015, aktualisiert 15:52 Uhr, 575 Aufrufe, 5 Kommentare, 1 Danke

Hallo Liebe Gemeinde!

Vielleicht eine relativ simpel zu lösende Aufgabe, jedoch tu ich mich da grad ein wenig schwer, da ich von Batch Dateien nicht allzu viel Ahnung habe.

Es geht darum, eine Adress Datei mittels einer vorgefertigten .exe Datei umzuwandeln. Das klappt mittels Konsole wunderbar. Jedoch will ich den Vorgang vereinfachen und wollte hierfür eine Batch Datei schreiben die das ganze automatisiert.

Der gesamte Befehl lautet:

start R:\Schnittstellen\bin\ProBauGStrasse.exe R:\Schnittstellen\ProBaug\*adress.txt R:\Schnittstellen\ProBaug\ R:\Schnittstellen\bin\strassen.csv

Hierbei wird alles korrekt ausgeführt bis auf den Teil "*adress". Das Problem ist, dass die Datei Immer einen anderen Namen hat, der sich sowohl aus Datum und Uhrzeit zusammensetzt. Jedoch IMMER auf adress.txt endet. Wenn ich den Dateinamen ausschreibe klappt die Batchdatei ohne jegliche Probleme, aber es wäre mir lieber wenn ich dies Variabel halten könnte.

Wie gesagt, wahrscheinlich für einige hier eine recht simple Frage, auf die ich aber leider bislang keine Antwort finden konnte.

Danke im Voraus!

Spikeee
Mitglied: joehuaba
LÖSUNG 24.02.2015, aktualisiert um 15:52 Uhr
Lass dir die Datei erst auslesen mit deinem Batchscript:

01.
For /F %%i in ('dir /B *adress.txt') do set Datei=%%~ni
Jetzt steht der Dateinamen in der Variable "Datei".

Dann kannst du mit deiner Variable weiterarbeiten
Bitte warten ..
Mitglied: Spikeee
24.02.2015 um 11:28 Uhr
Danke joehuaba!
Diesen Befehl hatte ich auch eben gefunden, jedoch habe ich die richtige Verwendung wohl noch nicht raus.

Meine Datei sieht derzeit folgendermaßen aus:

start R:\Schnittstellen\bin\ProBauGStrasse.exe
For /F %%i in ('dir /B *adress.txt') do set Datei=%%~ni R:\Schnittstellen\ProBaug\Datei
R:\Schnittstellen\ProBaug\
R:\Schnittstellen\bin\strassen.csv

habe optional noch %Datei% und %Datei%.txt probiert, aber egal wie ichs drehe und wende es funktioniert nicht :/ weitere Tipps?
Bitte warten ..
Mitglied: joehuaba
LÖSUNG 24.02.2015, aktualisiert um 15:52 Uhr
Du kannst natürlich erst einmal prüfen mit "echo %Datei%" ob er deinen gewünschten Dateinamen ausgibt,
bzw. ob die Variable das richtige beinhaltet.

Wenn das klappt ist das schon einmal die halbe Miete

Gehen wir vom Besten aus, dann müsste dein Code ca. so aussehen:

01.
@echo off 
02.
For /F %%i in ('dir /B *adress.txt') do set Datei=%%~ni 
03.
start R:\Schnittstellen\bin\ProBauGStrasse.exe R:\Schnittstellen\ProBaug\%datei% R:\Schnittstellen\ProBaug\ R:\Schnittstellen\bin\strassen.csv 
04.
Exit
Leider bin ich kein Batch-Spezialist, hoffe ich kann dir trotzdem weiterhelfen
Bitte warten ..
Mitglied: Spikeee
24.02.2015 um 15:53 Uhr
Danke! Hat leider nicht ganz so geklappt aber nach langem rumspielen und ein wenig rumgegoogle hat jetzt folgender Code zum Erfolg geführt

For %%i in (*adress.txt) do set Datei=%%i
start R:\Schnittstellen\bin\ProBauGStrasse.exe R:\Schnittstellen\ProBaug\%Datei% R:\Schnittstellen\ProBaug\ R:\Schnittstellen\bin\strassen.csv

Danke für die Hilfe
Bitte warten ..
Mitglied: joehuaba
24.02.2015 um 15:57 Uhr
Freut mich dass ich dir helfen konnte
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...