Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

innerhalb eines IF-Blocks Neusetzen einer Variable

Frage Entwicklung Batch & Shell

Mitglied: olliwest

olliwest (Level 1) - Jetzt verbinden

28.05.2008, aktualisiert 11:14 Uhr, 3239 Aufrufe, 2 Kommentare

hallo zusammen,

ich habe ein Problem, und zwar funktioniert das setzten einer Variable innerhalb einer IF-Anweisung nicht nur außerhalb.

Code:

@if exist c:\test.txt (
@set /p user=<c:\test.txt
@echo %user% User angemeldet
@del c:\test.txt
exit 0 )

@if exist c:\test2.txt (
@set /p user=<c:\test2.txt
@echo %user% User angemeldet
@del c:\test2.txt
exit 0 )

ich habe es auch schon mit, @echo !user! User angemeldet,
ausprobiert, funktioniert auch nicht.

kann mir da jemand weiterhelfen, danke

gruß olli
Mitglied: bastla
28.05.2008 um 10:46 Uhr
Hallo olliwest und willkommen im Forum!

... funktioniert das setzten einer Variable innerhalb einer IF-Anweisung nicht
Setzen kannst Du die Variable, aber den gesetzten Wert kannst Du innerhalb des IF nur über "delayedExpansion" auslesen - daher:
01.
@echo off & setlocal enabledelayedexpansion 
02.
if exist c:\test.txt ( 
03.
    set /p user=<c:\test.txt 
04.
    echo !user! User angemeldet 
05.
    del c:\test.txt 
06.
    exit 0 
07.
) 
Dadurch ändert sich auch die Variablenschreibweise auf !Variable!.

Als Alternative dazu könntest Du einfach den entsprechenden Teil überspringen oder ein Unterprogramm verwenden - ersteres etwa so:
01.
@echo off & setlocal 
02.
if not exist c:\test.txt goto :NichtDa 
03.
set /p user=<c:\test.txt 
04.
echo %user% User angemeldet 
05.
del c:\test.txt 
06.
exit 0 
07.
 
08.
:NichtDa 
09.
echo Die Datei "c:\test.txt" wurde nicht gefunden.

Grüße
bastla
Bitte warten ..
Mitglied: olliwest
28.05.2008 um 11:14 Uhr
Hi bastla,

vielen Dank für die schnelle Antwort.
Es funktioniert wunderbar, danke.

Gruß Olli
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Mit zusammengesetzter Variable auf andere Variable zugreifen (2)

Frage von abiber zum Thema Batch & Shell ...

Backup
QNAP NASC77A61 mit Fehlerhaften Blöcken (11)

Frage von Fitzel69 zum Thema Backup ...

Batch & Shell
gelöst Powershell IF Abfrage Vergleichsoperatoren (4)

Frage von Peterz zum Thema Batch & Shell ...

Batch & Shell
PowerShell mehrere Try-Catch Blöcke? (1)

Frage von Marabunta zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Windows 10
Windows 10 Fall Creators Update Fehler (14)

Frage von ZeroCool23 zum Thema Windows 10 ...

Router & Routing
gelöst Getrenntes Routing bei VoIP und Daten (12)

Frage von Hobbystern zum Thema Router & Routing ...