lyriker
Goto Top

Probleme mit .dateiname - Kopie.TXT.

Hallo!

ich habe wieder ein batch das mir kopfzerbrechen liefert.

Ich lese über eine "For" Schleife die Datei 170913 - Kopie.TXT ein. Leider sind unsere Supporter Saubatzen und lassen diese Kopie-Leichen im System, welche auch noch relevante Daten beherbergen.

Leider sagt mir der Batch: "Ungültiger Pfad - Kopie.TXT kann nicht gefunden werden"
Jemand eine Idee?

Content-ID: 223245

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

Ausgedruckt am: 25.11.2024 um 07:11 Uhr

Penny.Cilin
Penny.Cilin 29.11.2013 um 14:24:26 Uhr
Goto Top
und wieder grüßt das Murmeltier.

Hallo Lyriker,

1. zu wenig Informationen.
2. Welches Betriebssystem?
3. Wo bleibt Dein Skript?
4. Hast schon mal den Dateinamen oder die Variable in Hochkomma gesetzt?

Gruss Penny.
Lyriker
Lyriker 29.11.2013 aktualisiert um 14:36:23 Uhr
Goto Top
Hier rufe ich die Dateien zum abarbeiten auf, hier mäkelt er nicht:

for /f " delims=" %%i in ('dir /b /od "%Dateien%"') do (  
  echo %%i
  set "battemp=%%i"  
  call SendMadaBAZ2.bat %battemp%

Das ist die SendMadaBAZ2.bat, die soll das ganze verhackstückeln (noch nicht ganz fertig)
set "Dateidatum=%battemp:.txt=%"  
	set jahr=20%Dateidatum:~4,2%
	set monat=%Dateidatum:~2,2%
	set tag=%Dateidatum:~0,2%
	
for /f "usebackq tokens=1,2,3,4,5,6,7,8,9,10,11,12,13,14* delims=; " %%i in ("%battemp%") do (  
	rem schreibe Datum vollständig in tempfile
	echo.|set /p ="%tag%-%monat%-%jahr%;">>r2_%battemp%  
	echo.|set /p ="%%i.000;">>r2_%battemp%  
	if /i %%k=="00000" (  
		echo %%k 00000
		pause
		echo.|set /p ="0;">>r2_%battemp%  
	) else (
		echo.|set /p ="%%k;">>r2_%battemp%  
	)
	echo.|set /p ="%%m;">>r2_%battemp%  
	echo.|set /p ="%%o;">>r2_%battemp%  
	echo.|set /p ="%%q;">>r2_%battemp%  
	echo.|set /p ="%%s;">>r2_%battemp%  
	echo %%u;>>r2_%battemp%
) 
FOR /F "delims=|" %%f IN (r2_%battemp%) DO echo %%f>>export/export.csv  

Am cmd kommt:


170913 - Kopie.TXT
Die Datei "-" kann nicht gefunden werden.
Unzulässige Parameteranzahl
Sheogorath
Lösung Sheogorath 29.11.2013, aktualisiert am 05.12.2013 um 15:58:19 Uhr
Goto Top
Moin,

ersetze in der ersten Batch:
 call SendMadaBAZ2.bat %battemp% 

durch
 call SendMadaBAZ2.bat "%battemp%"  

Gruß
Chris
Endoro
Lösung Endoro 29.11.2013, aktualisiert am 05.12.2013 um 15:58:17 Uhr
Goto Top
Hey, %battemp% muss überall verzollt werden, auch in den redirections: >>"r2_%battemp%"
lg.
Lyriker
Lyriker 02.12.2013 um 10:56:13 Uhr
Goto Top
Manchmal ist man so blind ;)

Danke! das war es wohl ^^