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

Set p choise aus einer If-Abfrage heraus

Frage Entwicklung Batch & Shell

Mitglied: Mario.Steinberg

Mario.Steinberg (Level 1) - Jetzt verbinden

25.04.2012 um 17:01 Uhr, 2506 Aufrufe, 3 Kommentare

Hallo ich habe folgendes Problem.
Ich möchte aus einer If-Abfrage heraus eine Variable über die Eingabeaufforderung setzten. Hier ein Beispiel:

01.
  
02.
@echo off 
03.
 
04.
set AUFZAEHLUNG=auf1 auf2 auf3 
05.
for %%a in (%AUFZAEHLUNG%) do ( 
06.
	if exist test.bat ( 
07.
		set choice= 
08.
		set /p choice=Do you really want to overwrite the existig files y/n [n]?  
09.
		if not ´%choice%´==´´ set choice=%choice:~0,1% 
10.
		echo choise = %choice% 
11.
		if ´%choice%´==´y´ ECHO goto COPY_FILES 
12.
		if ´%choice%´==´n´ ECHO goto END 
13.
14.
15.
 
16.
:END 
17.
pause 
18.
exit


Das Problem hier ist das choise nicht gesetzt wird. Probiere ich das:

01.
  
02.
@echo off 
03.
 
04.
set AUFZAEHLUNG=auf1 auf2 auf3 
05.
for %%a in (%AUFZAEHLUNG%) do ( 
06.
	echo 1=%%a 
07.
	if exist test.bat ( 
08.
		echo 2=%%a 
09.
		goto ABFRAGE 
10.
	:ANTWORT 
11.
		echo 3=%%a 
12.
		if not ´%choice%´==´´ set choice=%choice:~0,1% 
13.
		echo choise = %choice% 
14.
		if ´%choice%´==´y´ ECHO goto COPY_FILES 
15.
		if ´%choice%´==´n´ ECHO goto END 
16.
17.
18.
 
19.
:END 
20.
pause 
21.
exit 
22.
 
23.
:ABFRAGE 
24.
set choice= 
25.
set /p choice=Do you really want to overwrite the existig files y/n [n]?  
26.
goto ANTWORT


Geht offensichtlich die Information über die Schleife und ihren Zähler verloren.
Kann mir vielleicht jemand was dazu sagen?

Vielen Dank und schöne Grüße
Mario
Mitglied: 60730
25.04.2012 um 17:08 Uhr
moin,

Zitat von Mario.Steinberg:
Hallo ich habe folgendes Problem.
  • in einer Batch Datei, die mit €cho ff beginnt? - wie kann das denn sein?

Ich möchte aus einer If-Abfrage heraus eine Variable über die Eingabeaufforderung setzten. Hier ein Beispiel:
  • Nein - "Dein" Problem ist, dass du innerhalb einer Schleife eine Variable befüllst und das geht "so" nicht. enabledelayedexpanision²²²²²
PS: eine Variable würde ich evtl. nicht so nennen, wie ein M$ Befehl, und vielleicht auch auf sowas AUFZAEHLUNG=auf1 auf2 auf3 verzichten und auf "AUFZAEHLUNG=auf1 auf2 auf3" umschwenken.

Gruß
Bitte warten ..
Mitglied: Mario.Steinberg
26.04.2012 um 08:45 Uhr
Hallo Timo,

danke! So wird nen Schuh draus:

01.
@echo off 
02.
setlocal enabledelayedexpansion 
03.
 
04.
set "AUFZAEHLUNG=auf1 auf2 auf3" 
05.
for %%a in (%AUFZAEHLUNG%) do ( 
06.
	if exist test.bat ( 
07.
		set EINGABE= 
08.
		set /p EINGABE=Do you really want to overwrite the existig files y/n [n]?  
09.
		if not ´!EINGABE!´==´´ set EINGABE=!EINGABE:~0,1! 
10.
		echo EINGABE = !EINGABE! 
11.
		if ´!EINGABE!´==´y´ ECHO goto COPY_FILES 
12.
		if ´!EINGABE!´==´n´ ECHO goto END 
13.
14.
15.
 
16.
:END 
17.
pause 
18.
exit
Bitte warten ..
Mitglied: 60730
26.04.2012 um 09:00 Uhr
Salü,

und wenn du dem If noch einen /i spendierst, darf der User sogar Y oder N drücken

Ps: Exit am Ende?
Nimm lieber exit /b, testet sich deutlich angenehmer.
Bitte warten ..
Ähnliche Inhalte
C und C++
gelöst IF Abfrage funktioniert nicht mehr (2)

Frage von pablovic zum Thema C und C ...

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

Frage von Peterz zum Thema Batch & Shell ...

Batch & Shell
Warum greift meine if-Abfrage nicht? (1)

Frage von jan999 zum Thema Batch & Shell ...

Linux Tools
gelöst Linux Script mit dreifacher If Abfrage verschachteln (9)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Linux Tools ...

Neue Wissensbeiträge
Multimedia

Raspberry Pi als Digital-Signage-Computer

(1)

Information von BassFishFox zum Thema Multimedia ...

Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(15)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows Server
Kennwort vergessen bei Hyper vserver 2012r (23)

Frage von jensgebken zum Thema Windows Server ...

Router & Routing
Freigabe aus anderem Netz nicht erreichbar (21)

Frage von McLion zum Thema Router & Routing ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (19)

Frage von Michael-ITler zum Thema Batch & Shell ...

Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail (17)

Frage von ahstax zum Thema Visual Studio ...