spara input från användare i variabel? (batch)|Programmering / Grafisk formgivning|Forum|Nordichardware

Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
The forums are currently locked and only available for read only access
sp_Feed sp_TopicIcon
spara input från användare i variabel? (batch)
Enzymer
Nu vet jag hur man gör inlägg!
Medlem
Forum Posts: 42
Member Since:
April 13, 2002
sp_UserOfflineSmall Offline
1
February 7, 2003 - 11:35 pm
sp_Permalink sp_Print

Hur skriver jag i en bat-fil för att det ska stå t.ex "Skriv vad du heter" och så sparas det som användaren skriver in i en variabel för att jag i samma bat-fil ska kunna använda innehållet i den variabeln till annat?

Avatar
Sebbe
Member
Medlem
Forum Posts: 5039
Member Since:
June 11, 2001
sp_UserOfflineSmall Offline
267724
February 8, 2003 - 3:41 am
sp_Permalink sp_Print

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.

Forum Timezone: Europe/Stockholm
Most Users Ever Online: 1030
Currently Online:
Guest(s) 460
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Andreas Galistel: 16287
Jonas Klar: 15897
ilg@dd: 10810
Nyhet: 10607
Mind: 10550
Ctrl: 10355
Gueno: 9881
Guest: 9344
Snorch: 8881
Callister: 8468
Newest Members:
PetrbonFU PetrbonFU
Karine Bembry
Dolores Mcdaniels
Anibal McLeish
Francisca Alt
Alfie Everhart
Lester Huitt
Orlando Jorgensen
Mikki Lundgren
Dakota Kozlowski
Forum Stats:
Groups: 11
Forums: 59
Topics: 146630
Posts: 1300967

 

Member Stats:
Guest Posters: 2
Members: 79425
Moderators: 0
Admins: 11
Administrators: nordicadmin, Henrik Berntsson, Anton Karmehed, Carl Holmberg, Joel Oscarsson, Mikael Linnér, Mikael Schwartz, Andreas Paulsson, Nickebjrk, Mattias Pettersson, EmxL