{title}

Hallo Team. Neu im Forum. Von meiner Suche her sieht es aus wie eine ziemlich sachkundige Gruppe. Ich habe mehr als 10 Jahre Erfahrung im IT/IS-Bereich, musste aber bis jetzt noch nie wirklich etwas schreiben (mit Ausnahme von Back-In) College.Ich weiß, ich weiß. Verwenden Sie es nicht. Sie verlieren es.) Alle PCs sind XP. Ich versuche, einen Stapel zu starten, der in jedem Profil auf dem PC nach einer MHT-Datei sucht und diese löscht. Wenn ich die PCs für alle baue, haben sie eine MHT-Datei, die von allen Agenten verwendet wird. Deshalb speichere ich sie immer im Desktop-Ordner aller Benutzer. Nach einer langen Laufzeit haben sie die Datei vor kurzem aktualisiert und ich muss sie ersetzen. Also muss sie aus allen Benutzern und den Profilen der tatsächlichen Benutzer auf den PCs gelöscht werden. Ich beginne damit, dass der Stapel eine TXT-Datei erstellt, die alle enthält die .mht-dateispeicherorte und dann verwende ich den "for/f" -Befehl, um den Inhalt der txt-Datei zu löschen, aber es kann nirgendwo hinkommen, da das Dateiformat der txt-Datei C: Documents and Settings .and ist Ich kann die txt - Datei nicht dazu bringen, den Pfad "" um den Pfad herum zu erstellen. Der Grund, warum ich möchte, dass es nur aus dem DocSettings-Ordner entfernt wird, ist, dass einige Agenten angefordert haben, noch eine Kopie der alten Datei zu haben. Ich habe sie angewiesen, sie in einem anderen Ordner auf ihrer Festplatte zu speichern, also möchte ich nicht Um eine Decke zu löschen, fehlt mir etwas? eine einfachere Möglichkeit, dies zu erreichen? Ich habe die gleiche Methode verwendet, als ich einen Stapel zum Löschen aller $ unin $ -Dateien ohne Probs erstellt habe, aber es war nie gezwungen, mit Pfaden mit Leerzeichen umzugehen. Dies scheint einfach genug zu sein, aber aus irgendeinem Grund ziehe ich einen leeren Code : @echo offC: cd " Dokumente und Einstellungen" dir/b/s .mht> oldAppGate.txtfor/F %% i in (oldAppGate.txt) do del/q %% das ist der Inhalt von "oldAppGate.txt" : C: Dokumente und Einstellungen Agent1 Desktop Application Gateway1 6-20-2010.mhtC: Dokumente und Einstellungen All Users Desktop Application Gateway1 6-20-2010.mhtdas Befehlsfenster besagt: C konnte nicht gefunden werden: DocumentsCould Not Find C: Documents (und ja, ich lösche die aktualisierte Datei.its auf meinem Test-PC) Danke!

HiYou hat es richtig in der CD-Zeile, Pfade mit Leerzeichen in Notwendigkeit s, versuchen Sie diesen Code: @echo offC: cd " Documents and Settings" dir/b/s .mht> oldAppGate.txtfor/F %% i in (oldAppGate. txt) do del/q "%% i" Beachten Sie, dass %% i in der letzten Zeile zwischen s steht

gpl.gotcha.will das versuchen und zurückmelden. danke! lv

gpl.nope! funktioniert nicht. Immer noch das gleiche Ergebnis wie ursprünglich in meinem ersten Beitrag beschrieben

Könnten Sie den Code so posten, wie Sie ihn jetzt haben? Es sollte definitiv nicht den gleichen Fehler geben, da die Meldung "C: Documents konnte nicht gefunden werden" ein totes Werbegeschenk ist, da sie beim ersten Leerzeichen stoppt

Ja, da die txt - Datei "" keine Informationen um den Pfad enthält. Wenn sie die Datei liest, stoppt sie bei "" C: Documents, was genau das ist, was Sie mit der %% i - Datei versucht haben Das einzige, was ich geändert habe, war Ihr Vorschlag, "" um %% herum einzufügen (siehe unten): Code: @echo offC: cd " Documents and Settings" dir/b/s .mht> oldAppGate.txtfor/F %% i in (oldAppGate.txt) löscht die/q "%% i" -Pause

Was nützlich sein könnte, ist das Entfernen des @echo off linethen, wenn jede Befehlszeile wiederholt wird, so dass Sie es sehen können - das könnte helfen, das Problem einzugrenzen

Wenn eine Zeile in oldappgate.txt ein Leerzeichen oder Leerzeichen enthält, stoppt for/f beim ersten (da es eines der Standardbegrenzungszeichen für Token ist). Sie müssen also erzwingen, dass die Begrenzungszeichen der Anfang und das Ende der Zeile mit sind ein "delims =" Block. Also versuche dies. Code: für/F "delims =" %% i in (oldAppGate.txt) lösche/q "%% i"

dohtypical schoolboy error, sorry das hab ich verpasst!

Das hat den Trick gemacht! Danke vielmals!

kein biggie! Ich habe For/F nicht so oft benutzt, also habe ich mir den ganzen Tag über den Kopf gekratzt. Ich hatte das Gefühl, dass ich verrückt werde. Trotzdem danke für die Hilfe!

Also habe ich dieses Skript auf einem Netzwerklaufwerk veröffentlicht und einen der Benutzer hat es ausführen lassen. Es gibt jedoch eine Fehlermeldung, dass es nicht gerne von einem Netzwerklaufwerk ausgeführt wird. Ich verstehe es nicht. Ich fordere es auf zu starten in C: . was ich irgendwann tun werde ist, diese Batch-Datei laufen zu lassen, wenn sich jemand anmeldet, damit es für alle erledigt ist. Gibt es etwas, das ich aufrufen muss, damit es über das Netzwerk läuft? oder ist das ein problem für mich?

ok.so habe ich dies von meinem PC aus ausgeführt und es hat funktioniert. Der einzige Unterschied ist, dass ich es auf einem Netzwerklaufwerk gespeichert habe, das tatsächlich auf meinem PC zugeordnet ist (aber nicht auf den PCs des Benutzers, aber es ist ein freigegebener Ordner auf Muss sich diese Batchdatei in einem zugeordneten Netzwerklaufwerk statt in einem freigegebenen Ordner im Netzwerk befinden, damit dies funktioniert? Wenn ich diese Datei einfach direkt in das Anmeldeskript kopiere, treten die gleichen Probleme auf Werden durch das Fehlen von Administrator-/Administratorrechten Probleme für mein Skript verursacht?

Melden von Missbräuchen an Richtlinien für Moderatoren und Diskussionsforen

Ich wollte nur sicherstellen, dass jeder das weiß. Hoffentlich hättest du bemerkt, dass jeder Beitrag, der irgendwo in unserem Forum gepostet wird, einen anklickbaren Link namens hat dem Moderator melden neben der IP-Adresse. Wenn Sie feststellen, dass der Beitrag eine der folgenden Angaben enthält:

  • Falsch gepostete Nachrichten
  • Spam/Werbung
  • Obszöne oder unangemessene Sprache
  • Beiträge, die gegen unsere gehen

    Angenommen, Sie haben folgende Frage gestellt: "Ich habe zwei Ordner, Ordner1 und Ordner2. Ich möchte eine BAT-Datei, die Ordner1 in Ordner2 verschiebt." Dies wird wie folgt verwendet: C: MyAppData> MoveF XXX YYYAnd der Ordner XXX in MyAddData wird so verschoben, dass er sich jetzt in YYY befindet. Beispiel: C: .MyAppData20070308History (Andere Ordner, falls vorhanden) MoveF.bat ( Andere BAT-Dateien, EXE-Dateien usw.) Gehen Sie zur Eingabeaufforderung und rufen Sie die Ordner MyAppData und doC: MyAppData> MoveF 20070308 auf
    Code:
    @echo offif x% 2 == x (Echo Sie benötigen zwei Parameter, From-Folder und To-Folder goto Adios), wenn% 1 nicht vorhanden ist. (echo Dieser Ordner existiert nicht:% 1. gehe zu Adios) falls% 2 nicht existiert. (echo Dieser Ordner existiert nicht:% 2. gehe zu Adios) falls vorhanden% 2 \% 1 . (echo Es ist bereits ein Ordner% 1 in% 2 unter Adios vorhanden.) mkdir% 2 \% 1wenn% 2 \% 1 vorhanden ist. (verschiebe% 1 .% 2 \% 1> nul 2> & 1 rmdir% 1) falls vorhanden% 1 . (Echo Sie hatten Unterordner oder so etwas. Ihr System ist durcheinander. goto Adios) Echo Erfolg!: Adios

Beliebte Beiträge