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

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

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

Mitglied: 60730
60730 Aug 04, 2011 at 08:47:03 (UTC)
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ß
Member: smatie
smatie Aug 04, 2011 at 08:52:20 (UTC)
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ß
Mitglied: 60730
60730 Aug 04, 2011 at 08:55:36 (UTC)
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ß
Member: smatie
smatie Aug 04, 2011 at 09:02:13 (UTC)
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
Mitglied: 60730
60730 Aug 04, 2011, updated at Oct 18, 2012 at 16:47:45 (UTC)
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
Member: mathe172
mathe172 Aug 04, 2011 at 09:29:47 (UTC)
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
Member: smatie
smatie Aug 04, 2011 at 09:31:32 (UTC)
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
Member: Skyemugen
Skyemugen Aug 04, 2011, updated at Oct 18, 2012 at 16:47:45 (UTC)
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é
Member: smatie
smatie Aug 04, 2011 at 09:36:40 (UTC)
Goto Top
ja das könnte es sein. ich probier mal
die Leerzeilen kommen nach der Ausgabe.
Gruß smatie
Member: smatie
smatie Aug 04, 2011 at 09:43:47 (UTC)
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
Member: smatie
smatie Aug 04, 2011 at 10:02:42 (UTC)
Goto Top
weiß keiner an was das liegen kann?
gruß smatie
Member: Skyemugen
Skyemugen Aug 04, 2011 at 10:08:22 (UTC)
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
Member: smatie
smatie Aug 04, 2011 at 10:50:45 (UTC)
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
Member: smatie
smatie Aug 04, 2011 at 11:36:20 (UTC)
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 (   
Member: mathe172
mathe172 Aug 04, 2011 at 15:00:09 (UTC)
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
Member: Biber
Biber Aug 04, 2011 at 21:57:07 (UTC)
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
Mitglied: 60730
60730 Aug 04, 2011 at 22:34:08 (UTC)
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