Temp.tmp nicht zu finden
Ich habe mir vor längerer Zeit mit einem Freund ein bat Script gebastelt. Nach dem Wechsel des Rechners (System: Windows 10 Pro vorher und jetzt) funktioniert es nicht mehr. Die Pfade stimmen.
Funktion:
Was macht das Script: es durchsucht eine json und ersetzt einfach ein paar immer wieder vorkommende Stellen.
Problem:
Es kommt der Fehler "Das System kann die angegebene Datei nicht finden". Dies muß die Temp.tmp sein in die Übergangsweise der neue Inhalt der Product.json geschrieben wird.
Kann mir jemand auf anhieb sagen wo das Problem liegen könnte oder wieso es auf einem Rechner läuft und auf dem anderen nicht???
Funktion:
Was macht das Script: es durchsucht eine json und ersetzt einfach ein paar immer wieder vorkommende Stellen.
Problem:
Es kommt der Fehler "Das System kann die angegebene Datei nicht finden". Dies muß die Temp.tmp sein in die Übergangsweise der neue Inhalt der Product.json geschrieben wird.
@echo off & setlocal enabledelayedexpansion
set "Datei=D:\wechsel\products.json"
set "t=D:\wechsel\Temp.tmp"
for /f "Tokens=1-4 usebackq Skip=1 Delims=;" %%a in ("D:\wechsel\Datei.CSV") do (
for /f "delims=" %%i in ('findstr /n $ "%Datei%"') do (
set "Line=%%i"
set Suchen1=%%a
set Ersetzen1=%%b
set Suchen2=%%c
set Ersetzen2=%%d
call :ProcessLine
)
move "%t%" "D:\wechsel\product.json"
echo } >> D:\wechsel\product.json"
CD /D "C:\Program Files\7-Zip"
7z.exe a D:\wechsel\%%b.zip "D:\wechsel\product.json"
setlocal enabledelayedexpansion
)
:ProcessLine
for /f "tokens=1* delims=:" %%a in ("%Line%") do set "L=%%b"
if not defined L >>"%t%" echo\& goto :eof
set WriteLine1=!L:%Suchen1%=%Ersetzen1%!
set WriteLine2=!WriteLine1:%Suchen2%=%Ersetzen2%!
>>"%t%" echo !WriteLine2!
goto :eof
:WEITER_IM_BATCH
Exit
Kann mir jemand auf anhieb sagen wo das Problem liegen könnte oder wieso es auf einem Rechner läuft und auf dem anderen nicht???
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 665360
Url: https://administrator.de/forum/temp-tmp-nicht-zu-finden-665360.html
Ausgedruckt am: 04.04.2025 um 10:04 Uhr
7 Kommentare
Neuester Kommentar
Moin,
Es müssen wenigstens die Datenpfade existieren - sonst "knallt" es.
Gruß
em-pie
Kann mir jemand auf anhieb sagen wo das Problem liegen könnte oder wieso es auf einem Rechner läuft und auf dem anderen nicht???
Ich tippe mal darauf, dass auf dem einen Rechner ein Laufwerk D:\ gibt und auf dem anderen nicht!?Es müssen wenigstens die Datenpfade existieren - sonst "knallt" es.
Gruß
em-pie

Hallo,
ACLs?!?
Gruß,
Jörg
ACLs?!?
Gruß,
Jörg
Moin,
da es auf dem anderen Rechner lief, bleibt eigentlich nur irgendein problem mit der ACL. Hast du denn schon mal versucht, den Ordner zu löschen und neu zu erstellen? CMD ist gerade in der Fehlerbehandlung dann auch nicht sehr gesprächig.
Ansonsten stellt sich die Frage, ob es nicht ohnehin sinnvoll wäre, das Ganze mal auf Powershell umzustellen, welches sogar mit JSON- und CSV-Dateien umgehen kann.
Du müsstest uns hierfür nur mal die Spaltenüberschriften deiner Dateien (json & csv) mitteilen.
Gruß Thomas
PS:
da es auf dem anderen Rechner lief, bleibt eigentlich nur irgendein problem mit der ACL. Hast du denn schon mal versucht, den Ordner zu löschen und neu zu erstellen? CMD ist gerade in der Fehlerbehandlung dann auch nicht sehr gesprächig.
Ansonsten stellt sich die Frage, ob es nicht ohnehin sinnvoll wäre, das Ganze mal auf Powershell umzustellen, welches sogar mit JSON- und CSV-Dateien umgehen kann.
Du müsstest uns hierfür nur mal die Spaltenüberschriften deiner Dateien (json & csv) mitteilen.
Gruß Thomas
PS:
Zitat von @mayho33:
Ist den der Punkt "bekannte Datentypen ausblenden" deaktiviert? Andernfalls wird eine Temp.tmp mit einem versteckten .Txt erstellt.
Diese Einstellung betrifft nur den Windows-Explorer und somit auch nur Dateien, die per GUI erstellt wurden. Ist hier also irrelevant.Ist den der Punkt "bekannte Datentypen ausblenden" deaktiviert? Andernfalls wird eine Temp.tmp mit einem versteckten .Txt erstellt.