smatie
Goto Top

Fehler im Code

hey,
ich suche nach längerem Probieren mal wieder eure Hilfe:

ich hab folgenden Code erstellt:
SET PFAD_KURZANLEITUNG=%CD%\files\product\%KURZANLEITUNG%\

for /f "delims=" %%s in ('dir /b /s /ad "%PFAD_KURZANLEITUNG%" ^|findstr /i "%LANGUAGE%"') do call :Ablauf2 "%%s"  

.
.
.

:Ablauf2
SET PDF_DATEIEN=".pdf"  
for /f "tokens=7 delims=\" %%a in ("%~1") do (  
	(echo(
	)>> %OUTPUT_DATEI%
	for /f "delims=" %%d in ('dir /b /a-d "%~1" ^|findstr /e %PDF_DATEIEN%') do (  
	echo Section %%a
	echo 	CreateDirectory "$PROGRAMFILES\"  
	echo 	SetOutPath "$PROGRAMFILES\"  
	echo.
	echo 	IfFileExists "$PROGRAMFILES\%%d" notInstall  
	echo 	${AddFile} "..\%%a\%~n1\%%d"  
	echo 	${CreateShortcut} "$DESKTOP\%%a" "$PROGRAMFILES\%%d" "" "" "" "" "" ""	  
	echo.
	echo 	notInstall:
	echo SectionEnd
	)>> %OUTPUT_DATEI%
)
goto:eof

die Ausgabe sieht wie folgt aus:
Section Kurzanleitung_2.2010
	CreateDirectory "$PROGRAMFILES\"  
	SetOutPath "$PROGRAMFILES\"  

	IfFileExists "$PROGRAMFILES\Kurzanleitung_V_2_2010.pdf" notInstall  
	${AddFile} "..\Kurzanleitung_2.2010\de\Kurzanleitung_V_2_2010.pdf"  
	${CreateShortcut} "$DESKTOP\Kurzanleitung_2.2010" "$PROGRAMFILES\Fendt\Fendias\Kurzanleitung_V_2_2010.pdf" "" "" "" "" "" ""	  

	notInstall:
SectionEnd

das passt eigentlich soweit auch. Meine Frage nun, warum giebt er mit nach SectionEnd noch mal Leerzeilen 8 zeilen aus?
Ich will dass er mit nur das von Section Kurzanleitung_2.2010 bis SectionEnd ausgiebt!
Da muss doch irgendwo ein Fehler sein^^
und wenn ich die Batchdatei ausführe zeigt er mir fünf mal "Datei nicht gefunden" an!
MfG smatie

Content-ID: 170924

Url: https://administrator.de/forum/fehler-im-code-170924.html

Ausgedruckt am: 23.12.2024 um 18:12 Uhr

60730
60730 04.08.2011 um 10:47:03 Uhr
Goto Top
moinsen,

Zeile 4-8 ist überholungsbedürftig (da sollten 3 Zeilen zu sehen sein, die sinngemäß lauten Befehl "." ist falsch)

Dann ist das nicht "das" Script
|findstr /i "%LANGUAGE%"
ist nirgendwo gesetzt.

Apropos Set
SET PDF_DATEIEN=".pdf"
"normalerweise" nimmt man Variablen, ja um es kürzer und einfacher zu halten - ob der Befehl überhaupt funktioniert?


Gruß
smatie
smatie 04.08.2011 um 10:52:20 Uhr
Goto Top
hey,
sorry vergessen zu erwähnen, das is nur ein Teil des ganzen Codes. und dieser Teil enthält den Fehler. %LANGUAGE% ist weiter oben gesetzt. und in Zeile 4-8 ist auch code, dieser spielt aber im Moment keine Rolle. ist nur eine Ausgabe in die Datei.

Gruß
60730
60730 04.08.2011 um 10:55:36 Uhr
Goto Top
ok.

sorry ich vergaß...

Du hast ein Problem mit einer Batch, die für einen speziellen Zweck verfasst wurde
Ohne zu sehen, was der Zweck ist und ohne die zu verabeitenenden Dokumente /Pfade zu kennen ist das ein Job für ganz harte

Heute bin ich Weichei

Gruß
smatie
smatie 04.08.2011 um 11:02:13 Uhr
Goto Top
Der Pfad is folgender:
%CD% ist: D:\USER\SVN\SETUP\
Die Batch ließt pdf Dateiennamen ein und giebt die Dateinamen in eine txt wieder aus. Der Name der PDF-Datei wird wie oben zu sehn wiedergegeben. (hier: Kurzanleitung_V_2_2010.pdf)
sind das genug informationen?
Gruß smatie
60730
60730 04.08.2011, aktualisiert am 18.10.2012 um 18:47:45 Uhr
Goto Top
nein

ein simpler Hinweis wäre doch nicht so viel mehr für dich gewesen?

Meine Frage bezog sich zum Bleistift auf die 7 ZwergeTokens und siehe da Andrè hatte auch nur 3 im original, die auch zu
${AddFile} "..\Kurzanleitung_2.2010\de\Kurzanleitung_V_2_2010.pdf"
passender wären.

Ps: gibt wird ohne e geschrieben
mathe172
mathe172 04.08.2011 um 11:29:47 Uhr
Goto Top
Hallo,

was sollen Zeile 11 und 12?

Eine Umleitung in der Umleitung?

Wenn ich das richtig sehe, schreibt er diese Ausgabe ja mehrmals in die OutpuDatei. Kommen die leeren Zeilen vor oder nach der Ausgabe?

Mathe172
smatie
smatie 04.08.2011 um 11:31:32 Uhr
Goto Top
das mit Tokens 7 passt schon. Muss an was anderm liegen! die Ausgabe passt ja nur, dass er mir Leerzeilen ausgiebt und eben das Datei nicht gefunden°-

PS: danke, Rechtschreibung ist nich meine Stärke ^^ aber ich geb mir Mühe
Skyemugen
Skyemugen 04.08.2011, aktualisiert am 18.10.2012 um 18:47:45 Uhr
Goto Top
Aloha T-Mo,

wobei mich Ablauf2 eher an dieses hier erinnert.

Aber um ehrlich zu sein: Ich kann's nicht mehr sehen und darum wird dies auch mein einziger Kommentar in diesem Thread, gerade mit smatie hab' ich den Mist schon zu oft wiederkauen müssen, irgendwann reicht es. soll er doch endlich selbst batch sich erlernen ...

greetz André
smatie
smatie 04.08.2011 um 11:36:40 Uhr
Goto Top
ja das könnte es sein. ich probier mal
die Leerzeilen kommen nach der Ausgabe.
Gruß smatie
smatie
smatie 04.08.2011 um 11:43:47 Uhr
Goto Top
ok der eine Fehler wäre behoben! die Leerzeilen sind weg.
nun noch der andere Fehler: das Datei nicht gefunden
ich hab die datei mal ohne @ echo off ausgegeben!
er zeigt mir folgendes an:
) 1>>D:\USER\SVN\SETUP\specific\Dokumentation.txt )
Datei nicht gefunden
Das ist die Ausgabedatei die nicht gefunden wird! aber warum? Die Datei ist vorhanden und wird immer am Anfang neu erstellt!
Gruß smatie
smatie
smatie 04.08.2011 um 12:02:42 Uhr
Goto Top
weiß keiner an was das liegen kann?
gruß smatie
Skyemugen
Skyemugen 04.08.2011 um 12:08:22 Uhr
Goto Top
... wenn's so dringend ist, dass du nach knapp 20 Minuten schon so nachfragst/drängelst, solltest du wirklich mal selber batch erlernen, statt zu glauben, wir sitzen hier 24/7 und warten nur auf neue Posts, um darauf antworten zu können ...

Die Leute hier sind nebenbei noch am Arbeiten oder doch mal die Freizeit oder Pausen genießen ...

... eigentlich wollte ich ja hier keinen weiteren Kommentar verfassen aber diese häufig vorkommende Drängelei von dir veranlasste mich jetzt einfach mal zu dem Offtopic
smatie
smatie 04.08.2011 um 12:50:45 Uhr
Goto Top
das sollte jetzt keine drängelei sein!
und viel spaß in der Pause^^
ich bin nur immer ganz aufgeregt kurz bevor alles geht
smatie
smatie 04.08.2011 um 13:36:20 Uhr
Goto Top
ich weiß inzwischen, dass es an folgende Zeile liegt:
	for /f "delims=" %%d in ('dir /b /a-d "%~1" ^|findstr /i /s /e %PDF_DATEIEN%') do (   
mathe172
mathe172 04.08.2011 um 17:00:09 Uhr
Goto Top
Hallo,

versuch mal die Variable PDF_DATEIEN mit einer Suchmaske zu füllen, so wie sie jeder machen würde. Also: *.pfd

MfG,
Mathe172
Biber
Biber 04.08.2011 um 23:57:07 Uhr
Goto Top
Moin smatie,

Versuche es mal so:
....
for /f "tokens=7-8 delims=\" %%a in ("%~1") do if "%%a" NEQ "" IF "%%b" EQU "" (  
...
statt der bisherigen FOR/F-Anweisung mit "tokens=7"

Grüße
Biber
60730
60730 05.08.2011 um 00:34:08 Uhr
Goto Top
Salve
Zitat von @smatie:
ich weiß inzwischen, dass es an folgende Zeile liegt:
for /f "delims=" %%d in ('dir /b /a-d "%~1" ^|findstr /i /s /e %PDF_DATEIEN%') do (  

Schau doch bitte mal auf meine allererste Antwort ab dem Wort Apropos