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

Anfuehrungszeichen in einer Batchdatei

Frage Entwicklung Batch & Shell

Mitglied: Muddi

Muddi (Level 1) - Jetzt verbinden

23.08.2006, aktualisiert 11.09.2006, 4060 Aufrufe, 15 Kommentare

Hallo,

Ich habe folgendes Problem:

@echo off
set find=%SystemRoot%\System32\find.exe
echo datei.txt|%find% "(Anfuerungszeichen)" >nul

rem Die Batch soll in der datei.txt nach Anführungszeichen suchen.
if errorlevel 1 (mach irgendwas)

rem Wenn er nicht fündig wird, soll eben etwas geschehen.
rem Das Problem ist, dass man hinter %find% keine 3 Anführungszeichen stehen lassen kann.
pause
exit

rem Ist es irgendwie möglich, über den ASCII-Code von (") das (") anzusprechen. Der Code ist glaub ich 34.

Ich hoffe, jemand hat die Lösung.

Gruß
Muddi
Mitglied: DaSam
23.08.2006 um 19:39 Uhr
find /I """" \test.txt findet bei mir das Anführungszeichen.

cu,
Alex
Bitte warten ..
Mitglied: Biber
23.08.2006 um 23:40 Uhr
Moin Muddi,
dass man hinter %find% keine 3 Anführungszeichen stehen lassen kann..
Wie DaSam geschrieben hat - dann nimm doch vier davon.

2 davon umschließen den Suchtext.
1 ist der Suchtext. Und das muss eben als 2 Anführungszeichen übergeben ("maskiert") werden.

Wenn das nicht einleuchtet:
Bei der etwas mehr *nix-artigen Variante "FindStr.exe" kannst Du auch explizit nach Sonderzeichen und Hex-Werten suchen. Siehe FindStr /?.

Gruß
Biber
Bitte warten ..
Mitglied: Muddi
24.08.2006 um 12:40 Uhr
OK, danke.
Alles klar.

Aber ich habe noch ne Frage zu den Batchdateien, wollte nicht extra nochmal nen Thread aufmachen. Also:
Ich habe einen Ordner (meinverzeichnis) in dem sind wieder weitere Ordner, die ich nicht kenne, die anzahl kenne ich auch nicht, aber es ist mindestens einer:
ordner1
ordner2
ordner3
ordnern

@echo off
cd %systemdrive%\meinverzeichnis
dir
rem Jetzt kommen ja alle Ordner und Dateien in dem Ordner.
rem Wie kann man allen Ordnern eine Variable zuweisen.
rem dass nachher a=ordner1 b=ordner2 usw...
rem Warscheinlich eine for-Schleife, oder?

Gruß,
Muddi
Bitte warten ..
Mitglied: DaSam
24.08.2006 um 19:29 Uhr
Das macht man mit dem Parameter /d in einer for-Schleife. Beispiel:

for /d %i in (*.*) do echo %i

Alledrings hast Du dann immer alles in %i drinstehen und nicht in a... (Was machst Du, wenn es mehr als 26 Verzeichnisse gibt ??? Und was machst Du dann weiter mit deinen Variablen a... ???)

cu,
Alex
Bitte warten ..
Mitglied: Muddi
24.08.2006 um 20:12 Uhr
Alledrings hast Du dann immer alles in %i
drinstehen und nicht in a... (Was machst Du,
wenn es mehr als 26 Verzeichnisse gibt ???
Und was machst Du dann weiter mit deinen
Variablen a... ???)

Also das Programm sucht in dem Ordner (je nach Pc ist das %systemdrive%\Programme\Steam\SteamApps
nach den registrierten Accounts, die alle einen Ordner haben. Der User gibt anschließend an, in welchen Account bestimmte Dateien, also Karten, Skins usw... kopiert werden sollen.
Und mehr als 26 Accounts wird es nicht geben.
Bitte warten ..
Mitglied: Biber
27.08.2006 um 20:54 Uhr
Hmm, wohl wahr, Muddi,

dass kein User mehr als 26 Accounts haben wird.
Aber wegen der Les- und Wartbarkeit des Batchschnipsels würde ich DaSam's Ansatz eher so variieren:

01.
::-------snipp GetAllSteamAccounts.bat 
02.
@echo off & Setlocal EnableDelayedExpansion 
03.
set /a "AccCnt=0" 
04.
for /d %%i in (%ProgramFiles%\Steam\SteamApps\*.*) do call :SetNextAccount %%i 
05.
goto CopyMoveActions 
06.
 
07.
:SetNextAccount 
08.
Set /a "AccCnt+=1" 
09.
Set "SteamAccount%AccCnt%=%1" 
10.
Goto :eof 
11.
 
12.
:CopyMoveActions 
13.
if AccCnt==0 (echo Kein Steam-Account gefunden) && goto :eof 
14.
For /L %%i in (1,1,%AccCnt%) Do ( 
15.
          copy !SteamAccount%%i!\*.* W:\ohin\auch\immer... 
16.
          machsonstwas.... 
17.
18.
::-------snapp GetAllSteamAccounts.bat
Danach hast Du alle Accounts in Umgebungsvariablen %SteamAccount1% bis %SteamAccountNN% und kannst alles haönwegs nachvollziehbar im Batch runtertippen.

Gruß
Biber
P.S. Hat aber alles wenig mit "Anführungszeichen im Batch" zu tun.
Darf ich diesen Thread schließen?
Bitte warten ..
Mitglied: Muddi
10.09.2006 um 19:45 Uhr
Hallo Biber,

Sorry, konnte nicht früher antworten, war im Urlaub :D.


GetAllSteamAccounts.bat
@echo off & Setlocal
EnableDelayedExpansion
set /a "AccCnt=0"
for /d %%i in
(%ProgramFiles%\Steam\SteamApps\*.*) do call
:SetNextAccount %%i
goto CopyMoveActions

:SetNextAccount
Set /a "AccCnt+=1"
Set "SteamAccount%AccCnt%=%1"
Goto :eof


Also wenn ich das richtig sehe, ist der Hauptteil nach diesen Zeilen oben vorbei, oder? wegen goto :eof
Aber wenn ich jetzt z.B.
01.
echo %SteamAccount1% 
hinzufüge, heißt es nur ECHO ist ausgeschaltet, warum?


For /L %%i in (1,1,%AccCnt%) Do (


Diese Zeile verstehe ich auch noch nicht so ganz.


Sorry wegen meinen Noobfragen

Bitte noch kein Schloss dranhängen, bis das bei mir auch funktioniert.

Grüße
Muddi
Bitte warten ..
Mitglied: Biber
10.09.2006 um 21:19 Uhr
Moin Muddi,

Ich hatte tatsächlich noch einen Fehler drin...
...und zwar in der Zeile if AccCnt==0 (echo Kein Steam-Account gefunden) .
Da fehlten die Prozentzeichen um die Variable %AccCnt%.
Ich habe auch noch mal die Zeilen optisch neu arrangiert, damit deutlicher wird, was der eigentliche Batch ist und was Unterroutine.
Ansonsten liefert der zum Test geänderte folgende Batch-Schnipsel:

01.
::-------snipp GetAllSteamAccounts.bat 
02.
@echo off & Setlocal EnableDelayedExpansion 
03.
set /a "AccCnt=0" 
04.
for /d %%i in (%ProgramFiles%\Steam\SteamApps\*.*) do call :SetNextAccount %%i 
05.
 
06.
if %AccCnt%==0 (echo Kein Steam-Account gefunden) && goto :eof 
07.
For /L %%i in (1,1,%AccCnt%) Do ( 
08.
     echo     copy !SteamAccount%%i!\*.* W:\ohin\auch\immer... 
09.
     rem     machsonstwas.... 
10.
11.
goto :eof 
12.
~~~~~ Ende HauptBatch ~~~~ 
13.
:SetNextAccount 
14.
Set /a "AccCnt+=1" 
15.
Set "SteamAccount%AccCnt%=%1" 
16.
Goto :eof 
17.
::-------snapp GetAllSteamAccounts.bat
...beim Aufruf vom CMD-Prompt folgendes Ergebnis:
01.
Z:\> 
02.
$cmd$GetAllSteamAccount.bat 
03.
    copy D:\Programme\Steam\SteamApps\Chappi\*.* W:\ohin\auch\immer... 
04.
    copy D:\Programme\Steam\SteamApps\Heinzi\*.* W:\ohin\auch\immer... 
05.
    copy D:\Programme\Steam\SteamApps\c00lm4n\*.* W:\ohin\auch\immer...
Natürlich nur, wenn ich die Struktur richtig verstanden habe und unterhalb von "%programFiles%\Steam\Steamapps" diese Unterverzeichnisse für die User Chappy, Heinzi und c00lm4n existieren.

Also wenn ich das richtig sehe, ist der Hauptteil nach diesen Zeilen oben vorbei, oder? wegen goto :eof
Aber wenn ich jetzt z.B.
echo %SteamAccount1%

hinzufüge, heißt es nur ECHO ist ausgeschaltet, warum?

Weil keine Variable %SteamAccount1 gesetzt wurde. Dann ist die Verzeichnisstruktur anders, als ich es verstanden habe.
Bei mir liefert [%programFiles% ist bei mir D:\Programme, wie ja auch im Batch-Output angezeigt wird] die folgenden Unterverzeichnisse
01.
$cmd$dir /b /a:d %ProgramFiles%\Steam\SteamApps 
02.
Chappi 
03.
Heinzi 
04.
c00lm4n
Und bei dir?

For /L %%i in (1,1,%AccCnt%) Do (

Diese Zeile verstehe ich auch noch nicht so ganz.

In %AccCnt% (also in der Variablen AccountCount, aber der Name war mir zu lang) steht die Anzahl der gefundenen SubDirs. Bei mir 3.
Also wird die Zählschleife
"For /L %%i in (1,1,%AccCnt%) Do (.."
übersetzt zu
For /L %%i in (1,1,3) Do (...
--> also vom Anfangswert 1 (erster Parameter) immer erhöht um 1 (zweiter Parameter) bis zum Endwert 3 (dritter Parameter) das getan, was nach dem "DO.." folgt.

Bitte probiers noch mal mit der einen Korrektur bzw. poste mal das DIR-Ergebnis.

Gruß
Biber
Bitte warten ..
Mitglied: Muddi
11.09.2006 um 11:22 Uhr
Moin,

Biber, du bist genial! Es geht!

Die meisten Leute haben Steam unter %programfiles%\Steam installiert oder, so wie ich, unter %programfiles%\valve\steam

%programfiles% ist bei mir c:\programme

Das Valve hab ich dann noch hinzugefügt. Ergebnis:

01.
dir /b /a:d %ProgramFiles%\valve\Steam\SteamApps 
02.
franzake 
03.
Muddi
Bei der Batch ich hab sie mal so geschrieben:

01.
  
02.
@echo off & Setlocal EnableDelayedExpansion 
03.
set /a "AccCnt=0" 
04.
for /d %%i in (%ProgramFiles%\Valve\Steam\SteamApps\*.*) do call :SetNextAccount %%i 
05.
 
06.
if %AccCnt%==0 (echo Kein Steam-Account gefunden) && goto :eof 
07.
For /L %%i in (1,1,%AccCnt%) Do ( 
08.
     echo     copy !SteamAccount%%i!\*.* W:\ohin\auch\immer... 
09.
     echo Steamaccoun1=%SteamAccount1% 
10.
     echo Steamaccount2%SteamAccount2% 
11.
12.
:SetNextAccount 
13.
Set /a "AccCnt+=1" 
14.
Set "SteamAccount%AccCnt%=%1" 
15.
 
16.
pause
Output:
01.
Drücken Sie eine beliebige Taste... 
02.
Drücken Sie eine beliebige Taste... 
03.
copy c:\programme\valve\Steam\SteamApps\franzake\*.* w:\ohin\auch\immer... 
04.
Steamaccount1=C:\programme\valve\Steam\SteamApps\franzake 
05.
Steamaccount2=C:\programme\valve\Steam\SteamApps\Muddi 
06.
copy c:\programme\valve\Steam\SteamApps\Muddi\*.* w:\ohin\auch\immer... 
07.
Steamaccount1=C:\programme\valve\Steam\SteamApps\franzake 
08.
Steamaccount2=C:\programme\valve\Steam\SteamApps\Muddi 
09.
Drücken Sie eine beliebige Taste...
Er findet Sie also. OK letzte Frage

Wie macht man das jetzt am besten mit der Auswahl, dass außerdem nur der Accountname angezeigt wird (ist aber nicht soo wichtig, wäre aber schöner beim output als immer das c:\programme\valve\steam\usw... vor dem eigentlichen Namen)

01.
echo Welcher Steamaccount soll benutzt werden? 
02.
echo 1=%SteamAccount1% 
03.
if exist %SteamAccount2% echo 2=%Steamaccount2% 
04.
if exist %SteamAccountNN% echo NN=%SteamAccountNN% 
05.
.... 
06.
.... 
07.
set /p which_acc=Bitte waehlen 
08.
if %which_acc%==1 ( rem kopiere irgendwas nach %Steamaccount1% oder sonst was) 
09.
rem usw...
Das ist dann aber viel Tipparbeit, bei maximal 26 Accounts

Weißt du eine elegantere Methode?

Gruß
Muddi
Bitte warten ..
Mitglied: Biber
11.09.2006 um 11:58 Uhr
Na siehst Du, muddi,

es wird doch..

Die Skizzen zu den nächsten Verfeinerungen:
a) den SteamAppPath in eine Variable packen, damit nur die Accounts selbst einfacher extrahiert und angezeigt werden können.
b) die Auswahl-Anzeige
01.
:: ----snipp getSteamAccounts2.bat 
02.
@echo off & Setlocal EnableDelayedExpansion 
03.
set "SteamAppsPath=%ProgramFiles%\Valve\Steam\SteamApps" 
04.
set /a "AccCnt=0" 
05.
for /d %%i in (%SteamAppsPath%\*.*) do call :SetNextAccount %%~ni 
06.
 
07.
if %AccCnt%==0 (echo Kein Steam-Account gefunden) && goto :eof 
08.
For /L %%i in (1,1,%AccCnt%) Do ( 
09.
     echo     copy %SteamAppsPath%\!SteamAccount%%i!\*.* W:\ohin\auch\immer... 
10.
     REM ----gehört nicht in diese Schleife --echo Steamaccoun1=%SteamAccount1% 
11.
     REM ----  ......Steamaccount2%SteamAccount2% 
12.
13.
:SetNextAccount 
14.
Set /a "AccCnt+=1" 
15.
Set "SteamAccount%AccCnt%=%1" 
16.
echo SteamAccount%AccCnt%: [!SteamAccount%AccCnt%!]

DONE Wie macht man das jetzt am besten mit der Auswahl, dass außerdem nur der Accountname angezeigt wird

01.
 :: ungetestete Skizze für die Auswahl; Ermittlung der Accounts siehe oben 
02.
.... 
03.
echo Welcher Steamaccount soll benutzt werden? 
04.
echo 1=%SteamAccount1% 
05.
For /L %%i in (1,1,26) do if defined SteamAccount%%i echo %%i [!Steamaccount%%i!] 
06.
set /p which_acc=Bitte waehlen 
07.
Set ThisAccount=SteamAccount%which_acc% 
08.
 
09.
REM ..und dann ...mach was mit %ThisAccount%
So, Mittach...

Biber
Bitte warten ..
Mitglied: Muddi
11.09.2006 um 18:20 Uhr
Es geht so gut wie, der ouput sieht nur noch nicht so schön aus.

Ich habe die beiden Schnipsel mal zusammengeklebt, warscheinlich falsch.

01.
 
02.
@echo off & Setlocal EnableDelayedExpansion 
03.
set "SteamAppsPath=%ProgramFiles%\Valve\Steam\SteamApps" 
04.
set /a "AccCnt=0" 
05.
for /d %%i in (%SteamAppsPath%\*.*) do call :SetNextAccount %%~ni 
06.
 
07.
if %AccCnt%==0 (echo Kein Steam-Account gefunden) && goto :eof 
08.
For /L %%i in (1,1,%AccCnt%) Do ( 
09.
     echo     copy %SteamAppsPath%\!SteamAccount%%i!\*.* W:\ohin\auch\immer... 
10.
     REM ----gehört nicht in diese Schleife --echo Steamaccoun1=%SteamAccount1% 
11.
     REM ----  ......Steamaccount2%SteamAccount2% 
12.
13.
 
14.
:SetNextAccount 
15.
Set /a "AccCnt+=1" 
16.
Set "SteamAccount%AccCnt%=%1" 
17.
echo SteamAccount%AccCnt%: [!SteamAccount%AccCnt%!] 
18.
 
19.
:auswahl 
20.
echo Welcher Steamaccount soll benutzt werden? 
21.
For /L %%i in (1,1,26) do if defined SteamAccount%%i echo %%i !Steamaccount%%i! 
22.
set /p which_acc=Bitte waehlen 
23.
Set ThisAccount=!SteamAccount%which_acc%!   ---hier haben die Ausrufezeichen gefehlt, rem ich hab das dann nach längerem probieren irgendwie rausgefunden :) 
24.
 
25.
REM ..und dann ...mach was mit %ThisAccount% 
26.
echo Sie haben %ThisAccount% gewählt 
27.
pause
Er frägt nämlich 3 mal nach, welchen Steamaccount man benutzen will.

Beim ersten mal gibt es nur:

01.
Steamaccount1: [franzake] 
02.
Welcher SteamAccount soll benutzt werden? 
03.
1 franzake 
04.
Bitte waehlen
Beim zweiten mal:
01.
Steamaccount2: [Muddi] 
02.
Welcher SteamAccount soll benutzt werden? 
03.
1 franzake 
04.
2 Muddi 
05.
Bitte waehlen
Beim dritten mal:
01.
Steamaccount3: [] ---gibt es ja nicht 
02.
Welcher SteamAccount soll benutzt werden? 
03.
1 franzake 
04.
2 Muddi 
05.
Bitte waehlen
Aber bis auf das funktioniert alles. Nach der Wahl ist dann %ThisAccount% Muddi oder franzake und man kann in den Ordner Dateien kopieren.

Schönen Abend noch
Muddi
Bitte warten ..
Mitglied: Biber
11.09.2006 um 19:38 Uhr
Na gut, Muddi,

dann machen wir es mal halbwegs komplett.
01.
:: ----------snipp SteamAccounts3.bat 
02.
@echo off & Setlocal EnableDelayedExpansion 
03.
set "SteamAppsPath=%ProgramFiles%\Valve\Steam\SteamApps" 
04.
set /a "AccCnt=0" 
05.
for /d %%i in (%SteamAppsPath%\*.*) do call :SetNextAccount %%~ni 
06.
 
07.
if %AccCnt%==0 (echo Kein Steam-Account gefunden) && goto :eof 
08.
 
09.
:auswahl 
10.
cls & echo Welcher Steamaccount soll benutzt werden? 
11.
For /L %%i in (1,1,26) do if defined SteamAccount%%i echo %%i !Steamaccount%%i! 
12.
echo. 
13.
echo X Abbrechen 
14.
echo. 
15.
set /p "which_acc=Bitte waehlen: " 
16.
if /i [%which_acc%]==[X] goto :eof 
17.
(Set /a which_acc=which_acc+0) 2>nul 
18.
If %which_acc%==0 (echo Keine Zahl eingegeben!) & pause & goto auswahl 
19.
If %which_acc% GTR %AccCnt% (echo Zahl zu gross!) & pause & goto auswahl 
20.
Set "ThisAccount=!SteamAccount%which_acc%!"  
21.
echo Sie haben %ThisAccount% gewählt 
22.
pause     
23.
    REM ..und dann ...mach was mit %ThisAccount%    
24.
    echo     copy %SteamAppsPath%\%ThisAccount%\*.* W:\ohin\auch\immer... 
25.
goto :eof 
26.
~~~~~~~~~ Ende Hauptbatch 
27.
:SetNextAccount 
28.
Set /a "AccCnt+=1" 
29.
Set "SteamAccount%AccCnt%=%1" 
30.
echo SteamAccount%AccCnt%: [!SteamAccount%AccCnt%!]
So sähe dann der Output bei "richtiger" User-Eingabe aus:
01.
Welcher Steamaccount soll benutzt werden? 
02.
1 user7 
03.
2 userDrei 
04.
 
05.
X Abbrechen 
06.
 
07.
Bitte waehlen: 2 
08.
Sie haben userDrei gewählt 
09.
Drücken Sie eine beliebige Taste . . . 
10.
    copy C:\Programme\Valve\Steam\SteamApps\userDrei\*.* W:\ohin\auch\immer...
und "keine Ziffer" und "zu große Ziffern" wird auch abgefangen.

Was Du eventuell noch ändern musst, ist der Pfad..
Statt set "SteamAppsPath=%ProgramFiles%\Valve\Steam\SteamApps"
eher so was:
01.
... 
02.
set "SteamAppsPath=%ProgramFiles%\Valve\Steam\SteamApps" 
03.
if not exist %SteamAppsPath% set "SteamAppsPath=%ProgramFiles%\Steam\SteamApps" 
04.
if not exist %SteamAppsPath% (echo SteamApps-Pfad nicht gefunden.) && goto :eof
Aber das bekommst Du schon hin... ein bisschen was flimmert ja jetzt schon auf dem Monitor.

BTW - darf ich jetzt den Beitrag auf "Geschlossen" setzen bitte?
Gruß
Biber
Bitte warten ..
Mitglied: Muddi
11.09.2006 um 20:55 Uhr
Juhuuuuuuuuuuuuuuuuuuuu, jetzt geht alles perfekt. Bist der beste Biber und danke, dass du dir die Mühe gemacht hast. Das mit dem Steampfad finden hab ich per registry export gemacht, da der Installationspfad im Schlüssel HKLM\Software\Valve\Steam verzeichnet ist.

Ich habe noch eine letzte Frage, die etwas mit Anführungszeichen zu tun hat. Aber wenn du willst kann ich auch einen neuen Thread aufmachen. Also ich habe ein Programm geschrieben, dass die Treiber für Hardwarekomponenten runterlädt, da ich mich bei 3PCs nicht immer durch diese Homepages klicken will, um endlich zum Downloadlink zu kommen. Da hab ich das Tool wget.exe zur Hilfe gezogen.
am Anfang soll das Programm das System analysieren. Dafür habe ich den Registryeintrag

HKEY_LOCAL_MACHINE\Hardware\Description\System\CentralProcessor\0

in eine Textdatei exportiert (CPU.txt), weil es hier um den Prozessor geht. Danach die wichtige Zeile:

"ProcessorNameString"="AMD Sempron(tm) 2800+"

in eine neue Textdatei (CPU_NAME.txt) geschrieben. Dabei soll "AMD Sempron(tm) 2800+" ohne Anführungszeichen ausgelesen werden.
Das Problem bei

for /f "delims=" tokens=3" %%p in (CPU_NAME.txt) do set CPU=%%i
echo Prozessor=%CPU%

ist, dass er dann sofort anbricht.

Gruß
Muddi
Bitte warten ..
Mitglied: Biber
11.09.2006 um 21:08 Uhr
Ich würde das Setzen der Variablen dann so machen:

01.
for /f "delims== tokens=2" %%p in (cpu_name.txt) do set "CPU=%%~p"
Also das Gleichheitszeichen als Delimiter und dann das 2. Token nehmen.
Ergebnis am CMD-Prompt:
01.
>set cpu 
02.
CPU=AMD Sempron(tm) 2800+
So, Feierabend für heute.

Biber
Bitte warten ..
Mitglied: Muddi
11.09.2006 um 21:21 Uhr
So, Feierabend für heute.

Ja, du kannst den Thread jetzt zu machen.

Danke für alles und schönen Abend noch
Muddi
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...