Eine BAT-Datei, die ich auf meinem XP Pro SP3-System erstellt habe, funktioniert jedes Mal perfekt.
Installiert auf einem anderen XP [auch Pro SP3] -System fehlgeschlagen ("hängt") jedes Mal.Ungerade Einschränkung für Rohre in batfile auf XP
Das Problem stellt sich in einer mehrstufigen Rohrleitung heraus. zu isolieren ich vereinfacht gehalten, bis ich an dieser minimal [und künstliche] Testfall kam
echo. | date | find "/" | find "/" | find "/"
Hinweis: die ersten beiden Schritte zu date /t
verkürzt werden nicht, weil einige der Systeme des Benutzers vorge XP sind [und damit Mangel Befehl Erweiterungen]. Außerdem: sorgfältige Tests zeigen, dass date
den internen MS-DOS-Befehl DATE
ausführt und find
die Vanille ausführt "FIND.EXE, 4. August 2004, 9216" gefunden in "C: \ WINDOWS \ system32 \" [und identisch mit der Sicherheitskopie in "C: \ i386 \"].
Auf dem fehlerhaften System hängt jeder Befehl mit 4 oder mehr | s im fünften Schritt, auch wenn - wie hier - die Programme einfach sind und die Menge an Text, die sie verarbeiten, winzig ist.
I did some further testing on the user's system yesterday and discovered a subtlety of which I was unaware. I entered the simplified command [above] at the command prompt. It failed ["hung"] as expected. However, when I rebooted and tried again before doing anything else [a case which would never occur in the user's normal operation], I got a shock: it worked [i.e., the output of the MS-DOS DATE command appeared as expected]. It worked again. Then on the third try the failure mode re-appeared, and remained consistent thereafter.
I confirmed that
files=40
is in effect on both systems, and gave up. I'm still curious but I can't spend a lot of time on a small project for a
pro bono client analyzing a problem for which I have easy work-arounds.
Thank you everyone here for your quick and useful responses.
auf dem Originalsystem, Befehle mit 4 oder mehr | Arbeit ordnungsgemäß unabhängig davon, welche Programme aufgerufen werden und wie viel Text [im Rahmen des Zumutbaren] sie Handhabung sind.
Sobald die Einschränkung erkannt wird, gibt es viele triviale Problemumgehungen, so meine Frage ist nur Neugier: Kann jemand vorschlagen, wo das Limit herkommt und ob es eine Einstellung [in XP] gibt, die es erhöhen/beseitigen wird?
Hinweis: Weder HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Befehlsprozessor \ AutoRun noch HKEY_CURRENT_USER \ Software \ Microsoft \ Befehlsprozessor \ AutoRun ist auf beiden Systemen vorhanden.
Auch: Ich entschuldige mich für die Beantwortung von Kommentaren durch wiederholte Bearbeitung meiner ursprünglichen Post, aber egal welchen Browser ich verwende, erscheint das "Kommentar hinzufügen" Popup [oder was auch immer es sein soll] erscheint nie. Vielleicht ist mein Verständnis, dass das Hinzufügen eines Kommentars zu meinem eigenen Post keine Reputationspunkte erfordert, falsch. Jetzt sehe ich aber, dass "show # more comments" auch nicht funktioniert.
Schließlich: Das Problem, das ich mit dieser Website [das Hauptsymptom davon ist die Javascript-Konsolenmeldung "Uncaught ReferenceError: StackExchange ist nicht definiert"] ist die gleiche hier diskutiert https://meta.stackexchange.com/questions/117730/stack-overflow-onclick-actions-broken vor etwa einem Jahr.
Was ist mit den XP-Versionen (Pro, x64 ...)? – cheesemacfly
Jede Seite der Pipe wird über einen neuen CMD.EXE-Prozess ausgeführt. Hat jeder Computer einen AutoRun-Eintrag in der Registrierung, der Probleme verursachen könnte? ('HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Befehlsprozessor \ AutoRun' oder' HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor \ AutoRun') – dbenham
'Kopf' ist kein von Microsoft bereitgestellter Befehl. Um zu bestätigen, ob es sich nur um ein O/S-Problem handelt, ändern Sie sie in "Find". –