Top-Themen

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

Mitglied: olliwest

olliwest (Level 1) - Jetzt verbinden

28.05.2008, aktualisiert 11:14 Uhr, 3267 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
Apache Server
Modsecurity Geoip Block Country ?
Frage von 119839Apache Server

Schönen Guten Tag Wer könnte mir bitte bei meinem Problem behilflich sein Ich habe ein neuen Server und wollte ...

Batch & Shell
Cmd If ()else(if) geht nicht
gelöst Frage von SaschaaaaaBatch & Shell2 Kommentare

Hallo Leute, ich habe mir ein kleines Script erstellt welches den PC herunterfährt wenn er 90 Minuten im Leerlauf ...

Java

Unsynchronized Sleep in Synchronized Block

gelöst Frage von SaschaaaaaJava2 Kommentare

Hallo, klingt erstmal doof, ist aber ganz wichtig. Ich habe diesen Code: Das ist ein ungetester Code und dient ...

VB for Applications

If exist - if not exist in .vbs - Datei

gelöst Frage von Komoran12VB for Applications24 Kommentare

Moin, moin, vielleicht hat jemand ja einen Tipp für mich. Mit nachfolgender .vbs lasse ich mir einen Messagebox ausgeben: ...

Neue Wissensbeiträge
Internet

Kommentar: Bundesregierung erwägt Ausschluss von Huawei im 5G-Netz - Unsere Presse wird immer sensationsgieriger

Information von Frank vor 3 StundenInternet1 Kommentar

Hier mal wieder ein schönes Beispiel für fehlgeleiteten Journalismus und Politik zugleich. Da werden aus Gerüchten plötzlich Fakten, da ...

Windows 10

Netzwerk-Bug in allen Windows 10-Versionen durch Januar 2019-Updates

Information von kgborn vor 7 StundenWindows 101 Kommentar

Nur ein kurzer Hinweis für Admins, die Windows 10-Clients im Portfolio haben. Mit den Updates vom 8. Januar 2019 ...

Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 1 TagWindows 102 Kommentare

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 1 TagSicherheit6 Kommentare

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Heiß diskutierte Inhalte
Windows Server
Uhren gehen immer wieder falsch
Frage von killtecWindows Server23 Kommentare

Hallo, ich habe folgende Konstellation: 1. Physischer DC Div. Virtuelle DC's auf Hyper-V Servern Die Hyper-V-Server, der Physische DC ...

Switche und Hubs
Medienkonverter mit 12 oder 24 Ports gesucht
Frage von wmuellerSwitche und Hubs23 Kommentare

Guten Morgen, ich bin auf der Suche nach einem größeren Medienkonverter, der "stumpf" 1:1 die Ports auf über ein ...

Batch & Shell
Mit findstr batch doppelte zeilen einer txt löschen
Frage von Burningx2Batch & Shell21 Kommentare

Hi Vor einer weile habe ich im netzt einen windows shell befehl gefunden mit welchem man über die konsole ...

Windows Server
Client in die Domäne einbinden - Allgemeine Frage dazu
gelöst Frage von RalphTWindows Server19 Kommentare

Moin, ich habe 2 DCs in einer Hauptstelle und 2 DCs in einer Nebenstelle. Ich bringe in der Hauptstelle ...