tommhii
Goto Top

Dateinamen an Variablenübergeben

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
.

Content-Key: 214178

Url: https://administrator.de/contentid/214178

Printed on: April 24, 2024 at 02:04 o'clock

Member: bastla
bastla Aug 13, 2013 at 14:44:18 (UTC)
Goto Top
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:
for %%i in ("c:\UNKOV\*.xml") do (  
    echo Machwas mit "%%i" oder auch nur mit "%%~ni"  
)
Grüße
bastla
Member: Endoro
Endoro Aug 13, 2013 at 19:19:16 (UTC)
Goto Top
Hallo,
kannst du mal testen:
@ECHO OFF &SETLOCAL
FOR %%a IN ("c:\UNKOV\*.xml") DO SET /a da+=1&CALL SET "name%%da%%=%%~fa"  
FOR /f "tokens=2delims==" %%a IN ('set "name"') DO (  
	ECHO machwas mit "%%~nxa" oder "%%~fa"  
)
Verwende keine = Zeichen in Dateinamen.
lg.
Member: tommhii
tommhii Aug 14, 2013 at 09:14:12 (UTC)
Goto Top
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
Member: bastla
bastla Aug 14, 2013 at 09:22:04 (UTC)
Goto Top
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
Mitglied: 112778
112778 Aug 14, 2013 updated at 10:26:58 (UTC)
Goto Top
@ 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
FOR /f "tokens=2delims==" %%a ...  

wegen des fehlenden Space vor delims einen Syntaxerror.

Gruß
Member: tommhii
tommhii Aug 14, 2013 at 10:45:19 (UTC)
Goto Top
Hallo bastla,

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


Gruß
tommhi