बैच में पाठ फ़ाइल लॉग

मैं एक बैच गेम बना रहा हूं और मुझे यह जानने की जरूरत है कि कैसे inventory.txt बनाना है। अब तक मैं सूची लिख सकता हूं लेकिन सूची से चीजों को हटाने के लिए कुछ लाइनों को हटा नहीं सकता हूं।

@echo off
if not exist inventory.txt GOTO :write
echo Date/Time last login:
type inventory.txt
del inventory.txt
:write
echo %date%, %time%. >> inventory.txt
pause
0
स्टैक ओवरफ़्लो में आपका स्वागत है। क्या आप जो कोशिश कर चुके हैं उसका एक उदाहरण दे सकते हैं ("सूची से चीजों को हटाने के लिए कुछ लाइनों को हटा नहीं सकते हैं।" दृष्टिकोण के बिंदु)? मुझे लगता है कि बैच स्क्रिप्ट से फ़ाइल में लाइन अपडेट करने के लिए आपको शायद दबाया जा सकता है। आप ओएस विशिष्ट/संपूर्ण फ़ाइल विशिष्ट हेरफेर कर सकते हैं, लेकिन फ़ाइल संशोधन cmd.exe मजबूत सूट नहीं है। इसे इस्तेमाल करे?

2 उत्तर

You could build a function to write your inventory file.
So when your inventory changes you call this function. And when all your inventory variables begin with the same prefix you could use a simple set command to list them all.

set "inv.sword=1"
set "inv.bread=3"
set "inv.other="
call :inventoryChanged
....
exit /b

:inventoryChanged
(
  set inv.
) > inventory.txt
1
जोड़ा

यदि आप किसी पृष्ठ पर गेम की शुरुआत में एक सूची बनाना चाहते हैं जो प्रदर्शित नहीं होता है, तो आप सूची में कुछ भी लेना चाहते हैं और कहें

सेट आइटम = झूठी

फिर, जब आप एक निश्चित कुंजी दबाते हैं तो एक दुकान या कुछ "खरीद (itemname)" पृष्ठ पर जायेगा। इसे उस पृष्ठ पर इनपुट करें:

आइटम = सही सेट करें (अगला है यदि आपके पास पैसा है ...) सेट/एक पैसा - = (मूल्य)

सुनिश्चित करें कि आपके पास = से पहले है

अब सूची के लिए। एक पृष्ठ बनाएं: सूची और इसमें इनपुट करें:

अगर आइटम = सही गूंज (यहां आइटम का नाम)

इसका मतलब यह है कि अगर खिलाड़ी वास्तव में आइटम प्राप्त कर लेता है तो यह केवल सूची में प्रदर्शित होगा।

या यदि आप उस स्टैक को कुछ दिखाना चाहते हैं, तो इसे इनपुट करें:

गूंज (आइटम) -% आइटम%

यह एक उदाहरण के लिए यह कहेंगे ...

तीर - 23

0
जोड़ा