Batch File - Đổi tên tệp TXT nếu tệp tồn tại

  • Vấn đề
  • Dung dịch
  • chú thích

Vấn đề

Tôi đang viết một tập tin hàng loạt để gửi vé trợ giúp. Tôi cần tập lệnh để xem liệu tập tin sẽ được tạo đã tồn tại chưa (% nameuser%) và nếu vậy thì hãy đặt tên cho tập tin sẽ được tạo% nameuser1% và theo sau đó là 1, 2, 3, 4, 5 ect.

Mã của tôi trông như sau:

 @echo tắt tiếng vang. Chương trình HelpDesk được viết bởi PFC Torrey, Stephen 7:46 PM 1/4/2010 màu 3 echo. tiếng vang. tiếng vang. :: bản đồ ổ đĩa mạng vang. Ánh xạ mạng Ổ đĩa sử dụng mạng s: \ 10.10.4, 69 tiếng vang tạm dừng chia sẻ. tiếng vang. tiếng vang. tiếng vang. :: nhắc nhở cho tên người dùng echo "Ai đang gửi vé này?, (Tên họ KHÔNG CÓ SPACES)?" đặt / p nameuser = echo. tiếng vang. tiếng vang. tiếng vang. :: làm cho dir tắt khỏi dấu nhắc tên người dùng trong ổ đĩa được ánh xạ mkdir s: CAINhelptickets% nameuser% set drive = S: CAINhelptickets% nameuser% echo. tiếng vang. tiếng vang. tiếng vang. :: prompt cho đơn vị echo "Bạn thuộc đơn vị nào?" set / p unit = :: prompt cho vấn đề echo "Bạn đang gặp vấn đề gì với?, (Máy tính, Radio, BFT, Khác) set / p Problem = :: prompt for disject echo" Vui lòng ghi lại vấn đề một cách chi tiết, " echo "bao gồm bất kỳ bước nào cần thiết để kích hoạt sự cố." set / p discrip = :: prompt cho số tòa nhà echo "Bạn đang ở số tòa nhà nào?" set / p Buildingnumber = :: prompt cho số điện thoại echo "Vui lòng cung cấp hợp lệ số điện thoại hoặc mở rộng "set / p phonenumber = echo. echo." Tạo vé vui lòng chờ "tạm dừng echo.% unit%>% drive %% nameuser% .txt echo.% nameuser% >>% drive %% nameuser % .txt echo.% vấn đề% >>% drive %% nameuser% .txt echo.% dis %% >>% drive %% nameuser% .txt echo.% Buildingnumber% >>% drive %% nameuser% .txt echo. % phonenumber% >>% drive %% nameuser% .txt :: In IP Configuartion sang Ticket echo. Tạo cấu hình IP ipconfig / all >>% drive %% nameuser% .txt echo. echo. echo. echo. echo. " Vé đã được gửi, vui lòng chờ một đại diện S6 liên hệ với bạn. "Echo." -P FC Torrey, Stephen R " 

Bất kỳ ý tưởng sẽ là tuyệt vời.

Cảm ơn trước

Dung dịch

Đây là một tập lệnh bó sẽ tìm thấy thư mục mới nhất có tên $ usernameXXX.

# Script FindNextTicket.txt

tên người dùng var str, dir; số lượng var; tìm thấy bool var

cd "S: CAINhelptickets"

trong khi (KHÔNG ($ tìm thấy))

làm

 if ($ Count == 0) đặt $ dir = "S: CAINhelptickets" + "/" + $ tên người dùng khác đặt $ dir = "S: CAINhelptickets" + "/" + $ username + makestr (int ($ Count)) endif af $ dir if (KHÔNG ($ fexists)) do set $ Found = true echo "Đường dẫn thư mục đúng là" $ dir xong endif echo -e "DEBUG: Directory" $ dir "đã tồn tại." đặt $ đếm = $ đếm + 1 xong 

Tập lệnh bó này là trong biterscripting. Lưu tập lệnh trong tệp "C: /Scripts/FindNextTicket.txt" .

Sau đó thêm các lệnh sau trong tập lệnh bó của bạn.

 Tên người dùng "C: /biterscripting/biterscripting.exe" "C: /Scripts/FindNextTicket.txt" ("% nameuser%") -oo "output.txt" gõ putput.txt 

chú thích

Cảm ơn Richard.Williams cho mẹo này trên diễn đàn.

Bài TrướC TiếP Theo Bài ViếT

Lên Trên LờI Khuyên