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-Key: 388803

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

Printed on: April 16, 2024 at 21:04 o'clock

Mitglied: 137289
137289 Oct 08, 2018 updated at 16:29:12 (UTC)
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 /?
Member: SeaStorm
SeaStorm Oct 08, 2018 at 16:27:20 (UTC)
Goto Top
Hi

%A:~0,-3%
Mitglied: 137289
137289 Oct 08, 2018 updated at 16:53:05 (UTC)
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.
Member: mondfelder69
mondfelder69 Oct 08, 2018 at 16:54:27 (UTC)
Goto Top
Funktioniert super DANKE
Jedoch nur im aktuellen Verzeichnis die Unterverzeichnisse werden nicht mitbbearbeitet
Mitglied: 137289
Solution 137289 Oct 08, 2018 updated at 17:12:48 (UTC)
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"  
Member: mondfelder69
mondfelder69 Oct 08, 2018 at 17:21:16 (UTC)
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
Mitglied: 137289
137289 Oct 08, 2018 updated at 17:27:31 (UTC)
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.