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, 2499 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
Sicherheit

Millionen Euro in den Sand gesetzt?

(3)

Information von transocean zum Thema Sicherheit ...

Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Eine Netzwerkdose im Wechsel für zwei unterschiedliche Netze (12)

Frage von kartoffelesser zum Thema LAN, WAN, Wireless ...

Netzwerke
Mobile Einwahl IPSec VPN von iPhone iPad T-Mobile zur Pfsense (12)

Frage von Spitzbube zum Thema Netzwerke ...

Voice over IP
SNOM D765 an LancomR883VAW (10)

Frage von MS6800 zum Thema Voice over IP ...

Windows Netzwerk
Ordner-Freigabe außerhalb der Domäne (9)

Frage von Remsboys zum Thema Windows Netzwerk ...