Batch-Datei - TXT-Datei umbenennen, wenn eine Datei vorhanden ist

  • Problem
  • Lösung
  • Hinweis

Problem

Ich schreibe eine Batch-Datei zum Einreichen von Helpdesk-Tickets. Ich brauche das Skript, um zu sehen, ob die zu erstellende Datei bereits existiert (% nameuser%), und wenn ja, benenne die zu erstellende Datei% nameuser1% und konsekutiv danach 1, 2, 3, 4. 5 ect.

Mein Code sieht wie folgt aus:

 @echo aus Echo. HelpDesk-Programm Geschrieben von PFC Torrey, Stephen 19:46 04.01.2010 color 3 echo. Echo. Echo. :: ordnet Netzlaufwerkecho zu. Zuordnen der Netznutzung von Netzlaufwerken s: \ 10.10.4.69shared pause echo. Echo. Echo. Echo. :: Aufforderung zur Eingabe des Benutzernamens echo "Wer sendet dieses Ticket ?, (Nachname Vorname KEINE LEERZEICHEN)?" set / p nameuser = echo. Echo. Echo. Echo. :: deaktiviert die Eingabeaufforderung für den Benutzernamen im zugeordneten Laufwerk. mkdir s: CAINhelptickets% nameuser% set drive = S: CAINhelptickets% nameuser% echo. Echo. Echo. Echo. :: Eingabeaufforderung für Einheitenecho "Zu welcher Einheit gehören Sie?" set / p unit = :: Eingabeaufforderung für Störecho "Womit haben Sie ein Problem ?, (Computer, Radio, BFT, Sonstiges) set / p problem = :: Eingabeaufforderung für Störecho" Bitte beschreiben Sie das Problem im Detail, " echo "einschließlich aller Schritte, die zur Auslösung des Problems erforderlich sind." set / p discription = :: Aufforderung zur Eingabe der Gebäudenummer echo "In welcher Gebäudenummer befinden Sie sich?" set / p buildingnumber = :: Aufforderung zur Eingabe der Telefonnummer echo "Bitte geben Sie eine gültige Nummer an Telefonnummer oder Erweiterung "set / p Telefonnummer = Echo. Echo." Ticket wird erstellt, bitte im Standby-Modus "Echo anhalten.% Einheit%>% Laufwerk %% NameBenutzer% .txt Echo.% NameBenutzer% >>% Laufwerk %% NameBenutzer % .txt-Echo.% Problem% >>% Laufwerk %% NameBenutzer% .txt-Echo.% Beschreibung% >>% Laufwerk %% NameBenutzer% .txt-Echo.% Gebäudenummer% >>% Laufwerk %% NameBenutzer% .txt-Echo. % Telefonnummer% >>% Laufwerk %% NameBenutzer% .txt :: Druckt die IP-Konfiguration auf das Ticket-Echo. Erstellen der IP-Konfiguration ipconfig / all >>% Laufwerk %% NameBenutzer% .txt Echo. Echo. Echo. Echo. Echo Ticket wurde gesendet, bitte warten Sie, bis ein S6-Mitarbeiter Kontakt mit Ihnen aufnimmt. "Echo." -P FC Torrey, Stephen R "@pause 

Jede Idee wäre großartig.

Danke im Voraus

Lösung

Hier ist ein Batch-Skript, das das neueste Verzeichnis mit dem Namen $ usernameXXX findet.

# Script FindNextTicket.txt

var str Benutzername, dir; var int count; var bool gefunden

cd "S: CAINhelptickets"

while (NOT ($ gefunden))

tun

 if ($ count == 0) set $ dir = "S: CAINhelptickets" + "/" + $ username else set $ dir = "S: CAINhelptickets" + "/" + $ username + makestr (int ($ count)) endif af $ dir if (NOT ($ fexists)) do set $ found = true echo "Der korrekte Verzeichnispfad lautet" $ dir done endif echo -e ". DEBUG: Verzeichnis" $ dir "existiert bereits." setze $ count = $ count + 1 fertig 

Dieses Batch-Skript befindet sich in Bit-Skripten. Speichern Sie das Skript in der Datei "C: /Scripts/FindNextTicket.txt" .

Fügen Sie dann die folgenden Befehle in Ihr Stapelskript ein.

 "C: /biterscripting/biterscripting.exe" "C: /Scripts/FindNextTicket.txt" Benutzername ("% nameuser%") -oo "output.txt" Geben Sie putput.txt ein 

Hinweis

Vielen Dank an Richard.Williams für diesen Tipp im Forum.

Vorherige Artikel Nächster Artikel

Top-Tipps