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

Dateinamen an Variablenübergeben

Frage Entwicklung Batch & Shell

Mitglied: tommhii

tommhii (Level 1) - Jetzt verbinden

13.08.2013 um 16:11 Uhr, 1262 Aufrufe, 6 Kommentare, 1 Danke

Hallo,

ich habe eine Frage zu einen kleinen Problem ich bekomm das aber nicht hin. Ich habe einen Ordner in dem beliebig viele xml Dateien enthalten sind. Ich möchte diese dateien mittels eines Konverters alle nach einander konvertieren und dies mittels einer batch lösen. der Konverter ist eine bat Datei in der einige Parameter übergeben werden müssen wie z.B Eingabe Dateiname und Ausgabe Dateiname usw

set /a da=0
for %%i in (c:\UNKOV\*xml) do set /a da=da + 1

echo +++ Es sind %da% XML-Datei(en) vorhanden
for /l %%i in (1,1,%da%) do set Name%%~ni

wie kann ich der Konv.bat die Dateinamen übergeben ?

kann mir da jemand helfen

gruß Tommhi
.
Mitglied: bastla
13.08.2013 um 16:44 Uhr
Hallo tommhii!

Wenn Du denn unbedingt die Anzahl der XML-Dateien vorweg anzeigen willst, würde ich zu
for /f "delims=:" %%i in ('dir /b/a-d "c:\UNKOV\*.xml"^|findstr /n "^"') do set /a da=%%i
raten - für den Rest:
01.
for %%i in ("c:\UNKOV\*.xml") do ( 
02.
    echo Machwas mit "%%i" oder auch nur mit "%%~ni" 
03.
)
Grüße
bastla
Bitte warten ..
Mitglied: Endoro
13.08.2013 um 21:19 Uhr
Hallo,
kannst du mal testen:
01.
@ECHO OFF &SETLOCAL 
02.
FOR %%a IN ("c:\UNKOV\*.xml") DO SET /a da+=1&CALL SET "name%%da%%=%%~fa" 
03.
FOR /f "tokens=2delims==" %%a IN ('set "name"') DO ( 
04.
	ECHO machwas mit "%%~nxa" oder "%%~fa" 
05.
)
Verwende keine = Zeichen in Dateinamen.
lg.
Bitte warten ..
Mitglied: tommhii
14.08.2013 um 11:14 Uhr
Hallo ,

danke erstmal für die schnelle Antwort.
@ Endoro das script klappt super, aber eine Frage hab ich noch was meinst du für Zeichen im Dateinamen. Sonderzeichen oder zählen auch + - _ dazu ?
also danke nochmal für die schnelle Antwort
@ bastla klappt auch super bis auf das die Dateiendung im Dateinamen fehlt, ich brauche auch die Dateiendung an dem Namen, gibt es noch eine Möglichkeit das zu ändern?
Danke auch Dir nochmal für die schnelle Antwort

gruß Tommhi
Bitte warten ..
Mitglied: bastla
14.08.2013 um 11:22 Uhr
Hallo tommhii!
bis auf das die Dateiendung im Dateinamen fehlt
Hatte ich so von Deinem Ansatz oben übernommen - Du brauchst aber nur auf "%%~nxi" (also neben Name soll auch Extension verwendet werden) zu ändern ...

Grüße
bastla
Bitte warten ..
Mitglied: 112778
14.08.2013, aktualisiert um 12:26 Uhr
@ Endoro

Zitat von Endoro:
kannst du mal testen:

Deine Tricks sind nicht so der Renner. Das Environment ist auf 32767 Byte für einen Prozess und bis inc. XP und Server 2003 auf den gleichen Gesamtwert begrenzt. Wenn genügend Dateien vorhanden sind, gibt's nen crash.
Außerdem ergibt
01.
FOR /f "tokens=2delims==" %%a ...
wegen des fehlenden Space vor delims einen Syntaxerror.

Gruß
Bitte warten ..
Mitglied: tommhii
14.08.2013 um 12:45 Uhr
Hallo bastla,

ja okay hab ich wohl übersehen , danke für den Hinweis.


Gruß
tommhi
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

C und C++
Dateien in Ordner kopieren anhand vom Teil eines Dateinamen (22)

Frage von onlyforu8373 zum Thema C und C ...

Batch & Shell
gelöst PS-Skript anhand Dateinamen und zusätzlich Dateityp (Mapping) verschieben (2)

Frage von cleverm zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateinamen umschreiben batch (5)

Frage von jocheng zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...