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

CMD: programfiles Klammer wird nicht angezeigt

Frage Entwicklung Batch & Shell

Mitglied: teslajr

teslajr (Level 1) - Jetzt verbinden

27.03.2014 um 14:21 Uhr, 1180 Aufrufe, 6 Kommentare

Hallo Leute

bei Windows 7 wird die letzte Klammer nicht angezeigt und somit ist der Pfad nicht zu nutzen.
Muss man diese Variable besonders behandeln?


IF %PROCESSOR_ARCHITECTURE%==x86 (
set programpath=%programfiles%
) ELSE (
set programpath=%programfiles(x86)%
)

echo %programpath% :: c:\program files (x86


Danke & Gruss
Mitglied: jsysde
LÖSUNG 27.03.2014, aktualisiert um 14:43 Uhr
Mahlzeit.

Ich tät's auf Verdacht mal mit Anführungszeichen versuchen, "%programfiles(x86)".

Cheers,
jsysde
Bitte warten ..
Mitglied: colinardo
LÖSUNG 27.03.2014, aktualisiert um 14:43 Uhr
Zur Info: Anhand der Prozessorarchitektur-Variable kannst du nicht auf das verwendete Betriebssystem (32/64Bit) schließen !!
das machst du besser so:
01.
for /f "tokens=2 delims==" %%a in ('wmic os get OSArchitecture /format:list ^| findstr /i "OSArchitecture"') DO set arch=%%a 
02.
if "%arch%" == "64-bit" ( 
03.
   set "programpath=%programfiles(x86)%" 
04.
) else ( 
05.
   set "programpath=%programfiles%"    
06.
)
Grüße Uwe
Bitte warten ..
Mitglied: teslajr
27.03.2014 um 14:39 Uhr
Hallo

Das mit den Anführunszeihen funktioniert leider nicht.

wegen Prozessorarchitekur, wieso meinst du das?
weil x86 ist immer 32bit, und die verschidenen 64bit prozesorren berücksichtige ich nicht explizit, da es verschiedene gibt.

gruss
Bitte warten ..
Mitglied: Snowman25
LÖSUNG 27.03.2014, aktualisiert um 14:51 Uhr
Hallo teslajr,

wie @jsysde bereits schrieb: Mach Anführungsstriche drum herum.
Dass die Klammer im ECHO nicht mehr rauskommt liegt daran, dass %ProgramFiles(x86) zu C:\Program Files (x86) geparst wird. Die schließende Klammer von x86) wird dabei aber als die schließende Klammer des ELSE-Blocks interpretiert.
Deshalb sollten Zeile 2 und 4 so aussehen:
01.
set programpath="%programfiles%" 
02.
set programpath="%programFiles(x86)%"
Gruß,
Snowman25

€dit: Insgesamt wäre aber eine Abfrage besser, die testet, ob die x86-Pfade gesetzt sind:
01.
REM Wenn %ProgramFiles(x86) leer bzw. ungesetzt ist (32-Bit), wird 
02.
REM programpath auf %ProgramFiles% gesetzt. Ansonsten (64-bit) auf 
03.
REM %ProgramFiles(x86). 
04.
 
05.
IF "x%ProgramFiles(x86)%"=="x" ( 
06.
	SET programpath="%ProgramFiles%" 
07.
) ELSE ( 
08.
	SET programpath="%ProgramFiles(x86)%" 
09.
)
Bitte warten ..
Mitglied: colinardo
27.03.2014, aktualisiert um 14:44 Uhr
Zitat von teslajr:
wegen Prozessorarchitekur, wieso meinst du das?
Wie der Name schon sagt wird hier der Prozessor-Fähigkeit genannt nicht die Bittnes des Betriebssystems.
Bitte warten ..
Mitglied: teslajr
27.03.2014 um 14:46 Uhr
Danke, habe verstanden was gemeint wurde, es funktioniert problemlos.

Vielen Dank & Gruss
Bitte warten ..
Ähnliche Inhalte
Windows Systemdateien
gelöst CMD wird nicht wie gewohnt von c:users-username gestartet (4)

Frage von WinLiCLI zum Thema Windows Systemdateien ...

Batch & Shell
gelöst Taskkill für bestimmtes cmd Fenster (6)

Frage von n0cturne zum Thema Batch & Shell ...

Windows Server
gelöst Gruppenrichtlinien werden am Server nicht angezeigt (Rsop) (5)

Frage von deredvtyp zum Thema Windows Server ...

Windows Installation
gelöst Java Switches für die .cmd (12)

Frage von Todybear zum Thema Windows Installation ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
CNC Maschinen verlieren Netzwerkverbindung (kurioser Fehler) (22)

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

Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (13)

Frage von alemanne21 zum Thema Webentwicklung ...

Windows Server
gelöst Parameter Übergabe Terminal Server (9)

Frage von ThomasKern zum Thema Windows Server ...

Batch & Shell
Anfängerfragen - Powershell - Mailboxvertretung im Pulk einrichten (8)

Frage von Yoshimitsu zum Thema Batch & Shell ...