mondfelder69
Goto Top

Teil einer Variablen auslesen

Hallo habe folgendes Problem:

Ich möchte mit folgender Batch alle xls Dateien in xlsx konvertieren. Das funktioniert auch wunderbar, nur habe ich jetzt jede Datei mit Dateiname.xls.xlsx
Gibt es eine Möglichkeit aus der Variable %%A die letzten drei Zeichen zu entfernen bevor ich sie verwende für die Umwandlung?

FOR /F "delims=*" %%A IN ('dir /b /s *.xls') do "%PROGRAMFILES(x86)%\DIaLOGIKa\b2xtranslator\xls2x.exe" "%%A" -o "%%A.xlsx"

Content-ID: 388803

Url: https://administrator.de/forum/teil-einer-variablen-auslesen-388803.html

Ausgedruckt am: 22.04.2025 um 14:04 Uhr

137289
137289 08.10.2018 aktualisiert um 18:29:12 Uhr
Goto Top
Joa ist im Standard schon definiert...
FOR %%a in (*.xls) do "%PROGRAMFILES(x86)%\DIaLOGIKa\b2xtranslator\xls2x.exe" "%%~a" -o "%%~na.xlsx"  
Gruß speedlink

p.s. Doku dazu in for /?
SeaStorm
SeaStorm 08.10.2018 um 18:27:20 Uhr
Goto Top
Hi

%A:~0,-3%
137289
137289 08.10.2018 aktualisiert um 18:53:05 Uhr
Goto Top
Zitat von @SeaStorm:
%A:~0,-3%
Das geht nüscht face-smile. For Variablen lassen sich "nicht direkt" mit Stringoperationen benutzen, braucht man hier aber auch nicht da man ja mit %%~nA direkt den Basename des Dateinamens bekommt.
mondfelder69
mondfelder69 08.10.2018 um 18:54:27 Uhr
Goto Top
Funktioniert super DANKE
Jedoch nur im aktuellen Verzeichnis die Unterverzeichnisse werden nicht mitbbearbeitet
137289
Lösung 137289 08.10.2018 aktualisiert um 19:12:48 Uhr
Goto Top
Naja von oben abgucken hilft dir auch dafür min Jung
FOR /F "delims=" %%A IN ('dir /b /s /a-d *.xls') do "%PROGRAMFILES(x86)%\DIaLOGIKa\b2xtranslator\xls2x.exe" "%%~A" -o "%%~nA.xlsx"  
mondfelder69
mondfelder69 08.10.2018 um 19:21:16 Uhr
Goto Top
Jetzt habe ich die Lösung!!!

FOR /F "delims=*" %%A IN ('dir /b /s *.doc') do "%PROGRAMFILES(x86)%\DIaLOGIKa\b2xtranslator\doc2x.exe" "%%A" -o "%%A"
FOR /F "delims=*" %%A IN ('dir /b /s *.xls') do "%PROGRAMFILES(x86)%\DIaLOGIKa\b2xtranslator\xls2x.exe" "%%A" -o "%%A"
FOR /F "delims=*" %%A IN ('dir /b /s *.ppt') do "%PROGRAMFILES(x86)%\DIaLOGIKa\b2xtranslator\ppt2x.exe" "%%A" -o "%%A"


Damit konvertiert er alle alten Officedokumente in das neue Format und zwar auf der ganzen Platte.

Danke für die Unterstützung
137289
137289 08.10.2018 aktualisiert um 19:27:31 Uhr
Goto Top
Fehlt auch wieder meine Erweiterung die du eigentlich oben wolltest ... Erweiterung entfernen und neue geben. Einfach mal die Hilfe lesen wäre ja auch zu viel verlangt ...

So waht.

Na denn Prost.