Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 3229 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
IDE & Editoren
gelöst Code:Blocks auto complete anpassen (10)

Frage von TheBattleWolf zum Thema IDE & Editoren ...

C und C++
C-Sharp Variable Zuordnung (3)

Frage von Judo99 zum Thema C und C ...

Heiß diskutierte Inhalte
DSL, VDSL
gelöst DSL 200m verlängern (15)

Frage von Angela44 zum Thema DSL, VDSL ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...

Windows Server
SBS 2011 Standard virtualisieren (11)

Frage von HeinrichM zum Thema Windows Server ...

Exchange Server
gelöst DHCP Sever MS Server 2012 Problem (10)

Frage von Florian86 zum Thema Exchange Server ...