ERLEDIGT
JA
JA
ANTWORTEN
13
13
ZUGRIFFE
688
688
EMPFEHLEN
-
31.08.11 16:31 #1
Hallo,
bei uns tritt ein extrem merkwürdiges Problem auf, dieses soll nachfolgend beschrieben werden:
Wir haben eine cmd-Datei auf dem Server liegen, soweit kein Problem, die Anwender können darauf ausnahmslos zugreifen. Die cmd-Datei liest eine andere Textdatei aus und schreibt den Zeileninhalt in eine temporäre Datei. Die Textdatei ist ebenfalls bei allen vorhanden, liegt unter dem gleichen Pfad und ist bei allen Anwendern gleich. Beim Auslesen wird nach einer Zeile anhand eines spezifischen Strings (kommt einmalig vor!) gesucht. Eben genau diese Zeile soll in die temporäre Datei geschrieben werden. Das Problem: Bei einigen funktioniert es, bei anderen ist die erstellte Datei leer, woran kann dies liegen? Wir haben bisher keine Gemeinsamenkeiten bei den betroffenen Anwendern gefunden, außer, dass es sich nur um deutsche Anwender zu handeln scheint.
Hier die entsprechende Zeile aus der cmd-Datei:
Code :1
echo .|Type "%Allusersprofile%\Application Data\Restpfad\Dateiname"|find "Suchstring" > %Temp%\tempdatei.txt
Geändert von HonniCilest (31.08.11 um 16:41 Uhr)
Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
01.09.11 13:17 #2
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
Hi.Läßt sich das nicht vermeiden?
Wo kommt dieser String her? Ist der konstant?
Mit temp. Dateien kann es alle möglichen Probleme geben. Der Name der Datei ist konstant?
Zugriffsrechte? Geöffnet durch ein anderes Programm?
Warum so kompliziert?
GrußCode :1
find "suchstring" "%Allusersprofile%\Application Data\Restpfad\Dateiname" > %Temp%\tempdatei.txt
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
01.09.11 13:37 #3
Danke für die Antwort. Zu den Fragen...
1. Was soll sich vermeiden lassen?
2. Ja der String ist konstant, es handelt sich um ein Attribut was von Region zu Region unterschiedlichen Inhalt hat. Das Problem tritt aber nicht bei jedem Anwender der Region auf. Mittlerweile hat es auch nicht deutsche Fälle gegeben.
3. Der Name der temporären Datei ist konstant. Sie ist wirklich temporär und wird nach dem Vorgang wieder gelöscht. Wir haben auch überprüft ob diese überhaupt erstellt wird und die Antwort ist ja. Allerdings ist die Datei leer. Daher können Zugriffsrechte oder andere Programme ausgeschlossen werden.
4. Warum so kompliziert weiß ich nicht, ich habe es nicht geschrieben, sehe trotzdem keinen Grund warum es nicht funktionieren sollte. Du hast aber recht, ist schon irgendwo umständlich, wenn man es mit dem anderen vergleicht
Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
01.09.11 14:31 #4
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
Die temp. Datei. http://www.codeproject.com/KB/web-se...eSecurity.aspx
Das ist schlecht. Was ist wenn das Skript noch läuft und ein anderes Programm greift darauf zu usw. Oder das Skript wird doppelt gestartet...
Vermutlich wird der String in der Datei einfach nicht gefunden...
Wird denn die Datei in der gesucht wird verändert?
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
01.09.11 15:24 #5Nein das kann/konnte in diesem Fall ausgeschlossen werden.Das ist schlecht. Was ist wenn das Skript noch läuft und ein anderes Programm greift darauf zu usw. Oder das Skript wird doppelt gestartet...
Ich glaube auch, dass er den String nicht findet, aber er ist tatsächlich vorhanden, bei einigen funktioniert es, bei anderen nicht. Kann irgendwas in der erwähnten Zeile von System zu System anders interpretiert werden?
Die Datei, in der gesucht wird, wird normalerweise nie geändert, sie beinhaltet nur regional relevante Daten, wie z.B. Pfad zum regionalen Server, genau diesen benötigen wir.Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
01.09.11 15:46 #6
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
01.09.11 16:12 #7
Wo kann ich das nachschauen?
Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
01.09.11 16:26 #8
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
Ein guter Editor sollte dir normalerweise das Encoding einer Datei anzeigen.
chcp zeigt das aktuelle Encoding an bzw. setzt es.If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
01.09.11 16:32 #9
Hmm wenn es mir also richtig angezeigt wird (Notepad++), dann ist alles ANSI.
Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
02.09.11 11:08 #10
Das ursprüngliche Problem besteht immernoch, allerdings haben wir jetzt für diesen Fall ein Handling eingebaut, welches einen Default-Wert setzt, was aber in diesem Fall unschön ist... Falls jemand noch eine Erklärung hat, immer her damit! Ich wäre sehr dankbar...
Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
08.09.11 11:12 #11Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
08.09.11 12:00 #12SE Tutorials.de Gastzugang
Typisches Encoding-Problem.
Aus genau diesem Grund finde ich den Notepad++ nicht so prall. Ich habe mich an den Notepad2 gewöhnt. Gut ... er hat jetzt kein Tabbing und Auch keine Block-Erkennung ... aber was Zeichen zwischen 0x00 und 0x20 angeht zeigt er diese mit ihrem "Namen" gemäß der Tabelle http://de.wikipedia.org/wiki/ASCII#Zusammensetzung an. So sieht man sofort ob es wirklich ein Whitespace-Character oder ein Steuerzeichen ist. Leider schafft er es nicht TAB und SPACE zu differenzieren ... es ist aber einstellbar wie er mit TAB umgeht ... aber da beide offizielle Whitespaces-Charater sind und es in einer URI kein TAB *also \t* geben sollte sollte das eigentlich keine Probleme machen.
-
08.09.11 12:05 #13
Ich muss mich mal informieren, ob ich an meinem Arbeitsplatz Notepad2 installieren darf, danke für den Tipp!
Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
08.09.11 12:06 #14SE Tutorials.de Gastzugang
Das ist das schöne : Notepad2 braucht keine Installation ! Du läds einfach die EXE dierekt runter und startest sie. Auch alle Einstellungen werden in einer INI die sich im selben Verzeichnis befindet gespeichert ... kein Stress mit Veränderung der Registry.
Ähnliche Themen
-
Wie weise ich nach: Browser Problem oder Code Problem?
Von Steb im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 10.03.11, 20:09 -
Problem mit PHP Code....
Von Grobekelle im Forum PHPAntworten: 6Letzter Beitrag: 22.07.09, 16:26 -
problem mit Code
Von counteract im Forum PHPAntworten: 15Letzter Beitrag: 28.07.06, 19:50 -
highlight_string wenn Code zwischen [code] [/code]
Von partykiller im Forum PHPAntworten: 3Letzter Beitrag: 22.04.03, 13:10 -
Hab ein Problem mit dem code
Von Nucleus im Forum PHPAntworten: 6Letzter Beitrag: 23.02.02, 20:50





Zitieren

Login





