Batchdatei Problem mit dem Pfad

R

RE-DIK

Hallo Leute,

habe ein Problem mit meiner Batchdatei. Ich weiß nicht wo ich den Pfad einfügen kann damit es funktioniert. So sieht die Datei aus.

@echo off

@echo %~dp0zit.html <--- Der Pfad wird richtig angezeigt

set "filename=zit.html"
set "tempfile=ok.xml"

for /F "delims=" %%a in (%~dp0zit.html) do ( <------ der findet die Datei auch aber ist ein Fehler (kann syntaktisch an dieser Stelle nicht verarbeitet werden)
set text=%%a
set text=!text:ä=ae !
set text=!text:ü=ue !
set text=!text:ö=oe !
set text=!text:Ä=Ae !
set text=!text:Ü=Ue !
set text=!text:Ö=Oe !
echo !text!>>%tempfile%
)

ping -n 30 127.0.0.1>nul

del %filename%

die Batchdatei funktion wenn man %~dp0 weglässt aber wenn die die Batch mit einem anden Programm starte fehlt der Pfad wieder.

Dankeschön im voraus
 
Hi.

Bei mir funktioniert dein Skript fehlerfrei.

Schalte doch mal echo an und sende die genaue Ausgabe (einfach aus der Kommandozeile kopieren).

Und bitte verwende Code-Tags dafür.

Du müßtest außerdem noch die verzögerte Variablenexpansion einschalten.

Gruß
 
hab das jetzt aktiviert änder aber nix.

Schreibe mal die Ausgabe rein.

C:\Users\excel\Daten>setlocalEnableDelayedExpansion
C:\Users\excel\Daten\zit.html
C:\Users\excel\Daten>set "filename=zit.html"
C:\Users\excel\Daten>set "tempfile=ok.xml"
"\excel\Daten\zit.html)" kann syntaktisch an dieser Stelle nicht verarbeitet werden.
C:\Users\excel\Daten>

Wenn ich die Datei so manuell starte funktion sie auch bei mir aber sobald ich die mit vba öffnen lasse findet die batch datei meine zit.html nicht obwohl die im selben ordner ist.

@echo off
setlocal EnableDelayedExpansion

set "filename=zit.html"
set "tempfile=ok.xml"

for /F "delims=" %%a in (%filename%) do (
set text=%%a
set text=!text:ä=ae !
set text=!text:ü=ue !
set text=!text:ö=oe !
set text=!text:Ä=Ae !
set text=!text:Ü=Ue !
set text=!text:Ö=Oe !
echo !text!>>%tempfile%
)

del %filename%
 
Schreibe mal die Ausgabe rein.

C:\Users\excel\Daten>setlocalEnableDelayedExpansion
C:\Users\excel\Daten\zit.html
C:\Users\excel\Daten>set "filename=zit.html"
C:\Users\excel\Daten>set "tempfile=ok.xml"
"\excel\Daten\zit.html)" kann syntaktisch an dieser Stelle nicht verarbeitet werden.
C:\Users\excel\Daten>
Irgendwie passt da was nicht zusammen. Du hast das doch nicht wirklich abgeschrieben, oder?! Bitte kopiere die Ausgabe aus der Eingabeaufforderung!

Und schließe doch bitte Code und Ausgaben von Programmen in [code] ... [/code] Tags ein!
Wenn ich die Datei so manuell starte funktion sie auch bei mir aber sobald ich die mit vba öffnen lasse findet die batch datei meine zit.html nicht obwohl die im selben ordner ist.
Die Batch Datei wird aber nicht unbedingt in dem Ordner gestartet in dem sie liegt oder in dem deine Excel Datei liegt...

Gruß
 
Ich bekomme das nicht hin dieses Fenster offen zulassen.

Hätte noch eine andere Idee und zwar kann man in der Batchdatei von vorne rein den Pfad angeben wo die ausgeführt werden soll?

Ich denke dies würde viel einfacher sein.
 
Danke dir funktioniert

Sieht jetzt so aus

@echo off
setlocal EnableDelayedExpansion
cd /d %~dp0

set "filename=zit.html"
set "tempfile=ok.xml"

for /F "delims=" %%a in (%filename%) do (
set text=%%a
set text=!text:ä=ae !
set text=!text:ü=ue !
set text=!text:ö=oe !
set text=!text:Ä=Ae !
set text=!text:Ü=Ue !
set text=!text:Ö=Oe !
echo !text!>>%tempfile%
)

del %filename%
 
Zurück