Batch File - Premenovať súbor TXT, ak súbor existuje

  • Problém
  • Riešenie
  • Poznámka

Problém

Píšem dávkový súbor na odoslanie tipov helpdesku. Potrebujem skript, aby som zistil, či súbor, ktorý sa má vytvoriť, už existuje (% nameuser%) a ak áno, potom pomenujte súbor, ktorý bude vytvorený% nameuser1% a konzekutívny po 1, 2, 3, 4, 5 ect.

Môj kód vyzerá nasledovne:

 @ echo off echo. HelpDesk Program Napísal PFC Torrey, Stephen 19:46 1/4/2010 farba 3 echo. echo. echo. :: mapuje sieťový echo. Sieťové mapovanie sieťovej siete s: 10.10.4.69združená pauza echo. echo. echo. echo. :: prompt pre užívateľské meno echo "Kto odosiela túto letenku ?, (priezvisko Meno NO SPACES)?" set / p nameuser = echo. echo. echo. echo. :: robí dir off užívateľské meno výzvu v mapovanej jednotke mkdir s: CAINhelptickets% nameuser% set drive = S: CAINhelptickets% nameuser% echo. echo. echo. echo. :: prompt pre jednotku echo "Do ktorej jednotky patríte?" set / p unit = :: výzva na vyriešenie problému "Čo máte s problémami ?, (Počítač, Rádio, BFT, Iné) set / p problem = :: výzva na odoslanie echo echo" Odošlite problém podrobne, " echo "vrátane všetkých krokov potrebných na spustenie problému." set / p disccribe = :: výzva na vytvorenie čísla echo "Aké číslo budovy ste v?" set / p buildingnumber = :: výzva na zadanie telefónneho čísla echo "Zadajte prosím platné telefónne číslo alebo prípona "set / p phonenumber = echo. echo." Vytváranie vstupeniek prosím stand-by "pause echo.% unit%>% drive %% nameuser% .txt echo.% nameuser% >>% drive %% nameuser % .txt echo.% problem% >>% drive %% nameuser% .txt echo.% disccribe% >>% drive %% nameuser% .txt echo.% buildingnumber% >>% drive %% nameuser% .txt echo. % phonenumber% >>% drive %% nameuser% .txt :: Vytlačí IP Configuartion na echo Ticket Vytvorenie IP konfigurácie ipconfig / all >>% drive %% nameuser% .txt echo. Lístok bol odoslaný, prosím, stojte za zástupcom S6, aby vás kontaktoval. "Echo." -P FC Torrey, Stephen R "@ pause 

Každá myšlienka by bola úžasná.

Vopred ďakujem

Riešenie

Tu je jeden dávkový skript, ktorý nájde najnovší adresár s názvom $ usernameXXX.

# Script FindNextTicket.txt

var str užívateľské meno, dir; var int počet; nájdené var bool

cd "S: CAINhelptickets"

zatiaľ čo (NOT ($ found))

robiť

 if ($ count == 0) nastavte $ dir = "S: CANhelptickets" + "/" + $ username else set $ dir = "S: CANhelptickets" + "/" + $ username + makestr (int ($ count)) endif af $ dir if (NOT ($ fexists)) do set $ found = true echo "Správna cesta k adresáru je" $ dir done endif echo -e "DEBUG: Adresár" $ dir "už existuje." nastavená hodnota $ count = $ count + 1 

Tento dávkový skript je v biterscriptingu. Uložte skript do súboru "C: /Scripts/FindNextTicket.txt" .

Potom pridajte nasledujúce príkazy do dávkového skriptu.

 "C: /biterscripting/biterscripting.exe" "C: /Scripts/FindNextTicket.txt" meno používateľa ("% nameuser%") -oo "output.txt" typu putput.txt 

Poznámka

Vďaka Richard.Williams pre tento tip na fóre.

Predchádzajúci Článok Nasledujúci Článok

Najlepšie Tipy