![]() |
|
|
გამარჯობა, სტუმარო ( შესვლა | რეგისტრაცია )
![]() |
![]()
პოსტი
#1
|
|
წევრი ![]() ![]() ჯგუფი: რეგისტრირებული პოსტები: 73 ნიკის ჩასმა ციტატაში ჩასმა წევრი №: 448 ![]() |
გთხოვთ აქ დაწეროთ BAT ბრძანებები ვინც რა იცით. წინასწარ დიდი მადლობა.
|
|
|
![]() |
![]()
პოსტი
#2
|
|
![]() ტექნო მანიაკი ![]() ![]() ![]() ![]() ![]() ![]() ჯგუფი: გადამდგარი მოდერი პოსტები: 1.126 ნიკის ჩასმა ციტატაში ჩასმა მდებარეობა: Saxli წევრი №: 7 ![]() |
ნეტა საიდან მოიტანე ეს (IMG:style_emoticons/default/smile.gif)
მართალი გითხრა ვერ გავიგე ეს რას ემსახურება მარა აგიხსნი ეხლა რა ხდება "echo" - ამას ევალება გამოიტანოს შეტყობინება მაგის მერე რაც წერია იმის კონკრეტულად ამის-"set a=0" , რატო არა "set a=0 >> temp.bat"? იმიტომ რომ ">>" უთითებს სად გამოიტანოს აქ მითითებულია "temp.bat" ესეიგი ამას თუ გაუშვებ პირველად შექმნის ახალ ფაილს "temp.bat" და იქ ჩაწერს თუ არის ასეთი ფაილი ბოლოს მიაწერს თვითონ ფაილში პირველი ეტაპი მგონი გასაგებია ამ bat ფაილის გაშვების მერე შეიქმნება ახალი temp.bat ფაილი სადაც ჩაეწერება პროგრამული კოდი set a=0 set b=0 set errorlevel= :c set /A b=+1 set /A a=+1 ეხლა განვიხილოთ "temp.bat" ის შიგთავსი (IMG:style_emoticons/default/smile.gif) აქ წერია "set a=0" ეს ბრძანება ცვლად "a"-ს ანიჭებს მნიშვნელობას "0" იგივეა მეორე ხაზი და მესამეც (მესამე და მეოთხეზე რა ხდება ვერ გავიგე სიმართლე რო გითხრა) მეხუთე და მეექვსე აქ რა ხდება "set /A b=+1". "set /A" უთითებს რო მაგის მერე წერია რიცხვი რომლის მნიშვნელიბა უნდა დაითვალოს, მაგრამ აქ წერია "b=+1" ხოდა ეს "b" ცვლადს ანიჭებს მნიშვნელობას "1" (რიცხვი), "/A" რომ არ ყოფილიყო "b"-ს მნიშვნელობა იქნებოდა "+1" უკვე რიცხვი კი არა არამედ string ტიპი, იგივეა მეექვსე. ეხლა მეორე მხარე თავიდან ეწერა "echo set /A b=%b%+1 >> temp.bat" ალბათ ამის დამწერს უნდოდა რომ "temp.bat" ფაილში ყოფილიყო "set /A b=%b%+1" (აქ მოხდებოდა ასეთი რამ "b" ცვლადს მიენიჭებოდა "b"-ს მნიშვნელობა ერთით გაზრდილი, რადგან აქ "b" განსაზღვრულია და იგი ნულის ტოლია "b" ს მნიშვნელობა გახდებოდა ერთი და დაემთხვეოდა "set /A b=+1" შედეგად მიღებულს მარა თავიდან "set b=0" ის მაგივრად რო იყოს მაგალითად "set b=5" მაშინ "b"-ს მნიშვნელობა უნდა ყოფილიყო 6 მარა არის 1) ტაკ რატო მოხდა ასე ას "echo set /A b=%b%+1 >> temp.bat" ბრძანება აკეთებს შემდეგ რაღაცას ჩაწერს "set /A b=" მერე ამ ფაილში "b"-ს მნიშვნელობას რომელიც არაფრის ტოლი არაა და და "+1" მაგიტო მიიღება "set /A b=+1" მაგრამ უნდა ითქვას რომ შეიძლება აქ "b" იყო უკვე განსაზღვრული მანამდე სანამ dato86 ს მიერ დაწერილი ბრძანებები ეწერა მაშინ შეცდომა არაა მარა თუ ამის ავტორს უნდოდა "temp.bat" -ის გაშვების დროს "b"-ს მნიშვნელობის გაზრდა (ამ შემთხვევაში 1 ით) მაშინ უნდა დაეწერა პროგრამული კოდი echo set /A b+=1 >> temp.bat და მიიღებდა "temp.bat" ფაილში პროგრამული კოდი set /A b+=1 რის შედეგად "b"-ს მნიშვნელობა გაიზრდებოდა "=" ის მერე რაც წერია იმ მნიშვნელობით (ამ შემთხვევაში 1 ით)იგივეა "a"-ს შემთხვევაში P.S. საკმაოდ დიდი გამომივიდა მარა შევეცადე მაქსიმალურად დეტალურად ამეხსნა ყველაფერი -------------------- |
|
|
![]() ![]() |
მსუბუქი ვერსია | ახლა არის: 2nd August 2025 - 06:33 PM |