June 11, 2001
Det går inte att skriva direkt i en .bat-fil, däremot om du sammarbetar med qbasic kan du ta emot strängar och köra batfilen genom qbasic.
För att få en bat fil som kommer i håg ett namn så ska du starta qbasic och skriva följande
Input "Skriv ditt namn";Name$ 'Variabeln Name$ håller namnet.
Out$="SET USN="+Name$
Shell Out$ +" > nul" ' > nul innebär att komanndot döljs på skärmen
SYSTEM ' System avslutar qbasic och återgår till batfilen
spara filen som en .bas fil och anropa den från en .bat-fil såhär
@echo off
@cls
@qbasic /run filen.bas
@echo Jag har uppfattat att ditt namn är %USN%
om du tex skulle skriva...
@echo j |del %USN%:*.*
...skulle ALLA filer i rotkatalogen på den hårddisk du anger, genom att sätta ditt namn till en bokstav, raderas.
för att kunna se eller ända ditt värde i dosläge så ska du använda kommandot set
set USN=TEXT
Set kommer att lista miljövariabler, dessa är åtkombara från alla .batfiler
ex.
1.bat
set TEST=BLAJA
call 2.bat
2.bat
Echo %TEST%
om du skriver detta i en batfil sparas namnet i en fil och läggas till 2 ggr ytterliare till en annan fil
@echo %USN% > namn.txt
@echo %USN% > trerader.txt
@echo %USN% >> trerader.txt
@echo %USN% >> trerader.txt
>> lägger till en rad i en fil
kommandot
@if %USN%=="BERT" echo Ingen Bert-fjärt i mitt system
kommer att skriva ut meddelandet om namnet är BERT, det måste vara exat samma versaler/gemener för att stämma, för att garantera kan du använda följande i qbasic
Name$=UCASE(NAME$)
detta gör att alla tecken blir versaler, LCASE ger gemener, siffor och specialtecken ändras inte.
hoppas att detta löser dina problem.
1 Guest(s)