Batchbestand - Hernoem het TXT-bestand als het bestand bestaat

  • Kwestie
  • Oplossing
  • Notitie

Kwestie

Ik schrijf een batchbestand voor het indienen van helpdesk-tickets. Ik heb het script nodig om te zien of het bestand dat zal worden gemaakt al bestaat (% nameuser%) en zo ja, geef het bestand de naam% nameuser1% en daarna consectutive daarna 1, 2, 3, 4, 5 ect.

Mijn code ziet er als volgt uit:

 @echo uit echo. HelpDesk-programma geschreven door PFC Torrey, Stephen 7:46 PM 1/4/2010 color 3 echo. echo. echo. :: brengt netwerkstation-echo in kaart. Netwerktoepassingen toewijzen net gebruik s: \ 10.10.4.69Gedeelde pauzeer echo. echo. echo. echo. :: prompt voor gebruikersnaam echo "Wie verzendt dit ticket?" (Voornaam Voornaam GEEN RUIMTEN)? " set / p naamuser = echo. echo. echo. echo. :: make dir off of user name prompt in mapped drive mkdir s: CAINhelptickets% nameuser% set drive = S: CAINhelptickets% nameuser% echo. echo. echo. echo. :: prompt voor eenheidsecho "Van welke eenheid bent u?" set / p unit = :: prompt voor probleem echo "Waar heb je een probleem mee ?, (Computer, Radio, BFT, Overig) set / p probleem = :: prompt voor dissectie echo" Beschrijf het probleem alstublieft in detail, " echo "inclusief alle stappen die nodig zijn om het probleem op te lossen." set / p discription = :: prompt voor het bouwen van nummer echo "Welk gebouwnummer bent u binnen?" set / p buildingnummer = :: prompt voor telefoonnummer echo "Geef een geldig telefoonnummer of extentie "set / p telefoonnummer = echo. echo." Ticket aanmaken blijf standby "pauzeer echo.% unit%>% drive %% nameuser% .txt echo.% nameuser% >>% drive %% nameuser % .txt-echo.% probleem% >>% drive %% nameuser% .txt echo.% discription% >>% drive %% nameuser% .txt echo.% buildingnumber% >>% drive %% nameuser% .txt echo. % telefoonnummer% >>% drive %% nameuser% .txt :: Print IP-configuratie naar Ticket-echo IP-configuratie maken ipconfig / all >>% drive %% nameuser% .txt echo. echo. echo. echo. "Uw Ticket is ingestuurd, houd deze stand-by voor een S6-vertegenwoordiger om contact met je op te nemen. "Echo." -P FC Torrey, Stephen R "@pause 

Elk idee zou geweldig zijn.

Bij voorbaat dank

Oplossing

Hier is een batch-script dat de nieuwste map genaamd $ gebruikersnaamXXX zal vinden.

# Script FindNextTicket.txt

var str gebruikersnaam, dir; var int count; var bool gevonden

cd "S: CAINhelptickets"

while (NIET ($ gevonden))

do

 if ($ count == 0) set $ dir = "S: CAINhelptickets" + "/" + $ gebruikersnaam anders ingesteld $ dir = "S: CAINhelptickets" + "/" + $ gebruikersnaam + makestr (int ($ count)) endif af $ dir if (NOT ($ fexists)) stel $ found = true echo in "Het juiste directorypad is" $ dir done endif echo -e "DEBUG: Directory" $ dir "bestaat al." stel $ count = $ count + 1 done in 

Dit batch-script bevat biterscripting. Sla het script op in bestand "C: /Scripts/FindNextTicket.txt" .

Voeg vervolgens de volgende opdrachten toe aan uw batchtype.

 "C: /biterscripting/biterscripting.exe" "C: /Scripts/FindNextTicket.txt" gebruikersnaam ("% nameuser%") -oo "output.txt" type putput.txt 

Notitie

Dank aan Richard.Williams voor deze tip op het forum.

Vorige Artikel Volgende Artikel

Top Tips