Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Fehler im Code

Frage Entwicklung Batch & Shell

Mitglied: smatie

smatie (Level 1) - Jetzt verbinden

04.08.2011, aktualisiert 18.10.2012, 2637 Aufrufe, 17 Kommentare

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

ich hab folgenden Code erstellt:
01.
SET PFAD_KURZANLEITUNG=%CD%\files\product\%KURZANLEITUNG%\ 
02.
 
03.
for /f "delims=" %%s in ('dir /b /s /ad "%PFAD_KURZANLEITUNG%" ^|findstr /i "%LANGUAGE%"') do call :Ablauf2 "%%s" 
04.
 
05.
06.
07.
08.
 
09.
:Ablauf2 
10.
SET PDF_DATEIEN=".pdf" 
11.
for /f "tokens=7 delims=\" %%a in ("%~1") do ( 
12.
	(echo( 
13.
	)>> %OUTPUT_DATEI% 
14.
	for /f "delims=" %%d in ('dir /b /a-d "%~1" ^|findstr /e %PDF_DATEIEN%') do ( 
15.
	echo Section %%a 
16.
	echo 	CreateDirectory "$PROGRAMFILES\" 
17.
	echo 	SetOutPath "$PROGRAMFILES\" 
18.
	echo. 
19.
	echo 	IfFileExists "$PROGRAMFILES\%%d" notInstall 
20.
	echo 	${AddFile} "..\%%a\%~n1\%%d" 
21.
	echo 	${CreateShortcut} "$DESKTOP\%%a" "$PROGRAMFILES\%%d" "" "" "" "" "" ""	 
22.
	echo. 
23.
	echo 	notInstall: 
24.
	echo SectionEnd 
25.
	)>> %OUTPUT_DATEI% 
26.
27.
goto:eof
die Ausgabe sieht wie folgt aus:
01.
Section Kurzanleitung_2.2010 
02.
	CreateDirectory "$PROGRAMFILES\" 
03.
	SetOutPath "$PROGRAMFILES\" 
04.
 
05.
	IfFileExists "$PROGRAMFILES\Kurzanleitung_V_2_2010.pdf" notInstall 
06.
	${AddFile} "..\Kurzanleitung_2.2010\de\Kurzanleitung_V_2_2010.pdf" 
07.
	${CreateShortcut} "$DESKTOP\Kurzanleitung_2.2010" "$PROGRAMFILES\Fendt\Fendias\Kurzanleitung_V_2_2010.pdf" "" "" "" "" "" ""	 
08.
 
09.
	notInstall: 
10.
SectionEnd 
11.
 
12.
 
13.
 
14.
 
15.
 
16.
 
17.
 
18.
 
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!
Mit freundlichen Grüßen smatie
Mitglied: 60730
04.08.2011 um 10:47 Uhr
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ß
Bitte warten ..
Mitglied: smatie
04.08.2011 um 10:52 Uhr
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ß
Bitte warten ..
Mitglied: 60730
04.08.2011 um 10:55 Uhr
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ß
Bitte warten ..
Mitglied: smatie
04.08.2011 um 11:02 Uhr
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
Bitte warten ..
Mitglied: 60730
04.08.2011, aktualisiert 18.10.2012
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
Bitte warten ..
Mitglied: mathe172
04.08.2011 um 11:29 Uhr
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
Bitte warten ..
Mitglied: smatie
04.08.2011 um 11:31 Uhr
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
Bitte warten ..
Mitglied: Skyemugen
04.08.2011, aktualisiert 18.10.2012
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é
Bitte warten ..
Mitglied: smatie
04.08.2011 um 11:36 Uhr
ja das könnte es sein. ich probier mal
die Leerzeilen kommen nach der Ausgabe.
Gruß smatie
Bitte warten ..
Mitglied: smatie
04.08.2011 um 11:43 Uhr
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
Bitte warten ..
Mitglied: smatie
04.08.2011 um 12:02 Uhr
weiß keiner an was das liegen kann?
gruß smatie
Bitte warten ..
Mitglied: Skyemugen
04.08.2011 um 12:08 Uhr
... 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
Bitte warten ..
Mitglied: smatie
04.08.2011 um 12:50 Uhr
das sollte jetzt keine drängelei sein!
und viel spaß in der Pause^^
ich bin nur immer ganz aufgeregt kurz bevor alles geht
Bitte warten ..
Mitglied: smatie
04.08.2011 um 13:36 Uhr
ich weiß inzwischen, dass es an folgende Zeile liegt:
01.
	for /f "delims=" %%d in ('dir /b /a-d "%~1" ^|findstr /i /s /e %PDF_DATEIEN%') do ( 
Bitte warten ..
Mitglied: mathe172
04.08.2011 um 17:00 Uhr
Hallo,

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

Mit freundlichen Grüßen,
Mathe172
Bitte warten ..
Mitglied: Biber
04.08.2011 um 23:57 Uhr
Moin smatie,

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

Grüße
Biber
Bitte warten ..
Mitglied: 60730
05.08.2011 um 00:34 Uhr
Salve
Zitat von smatie:
ich weiß inzwischen, dass es an folgende Zeile liegt:
01.
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
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (22)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...