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
GELÖST

Problem mit Variableinhalt

Frage Entwicklung Batch & Shell

Mitglied: messebe

messebe (Level 1) - Jetzt verbinden

07.12.2009, aktualisiert 08.12.2009, 3591 Aufrufe, 14 Kommentare

MoinMoin,
hier werden Sie geholfen ??
Ich hoffe mal ja

ich habe da ein kleines Problem mit dem ein- und auslesen von Variablen. Wenn ich einer Variablen den Wert
"Dokumente und Einstellungen\username\Eigene Dateien"

zuweise und sie dann mit set anzeigen lassen seht der Wert drin.
Nutze ich sie aber in einer for . . in ... do schleife, dann erhalte ich nur den Wert:

"Einstellungen\username\Eigene"

Der Rest geht verloren.
Wieso, Weshalb Warum, wer nicht fragt bleibt dumm
Mitglied: 60730
07.12.2009 um 16:24 Uhr
möchte, dass du mal set eingibst und dir die Ausgabe des Befehls ansiehst.
Habe irgendwie einen Sperrrigel im Kopf
Ich hoffe, der wink mit dem Zaunpfahl hat den Riegel gelöst.
Bitte warten ..
Mitglied: messebe
07.12.2009 um 16:29 Uhr
Dann steht es richtig drin, die komplette angabe Dokumente und Einstellungen\xxx\eigene Dateien
Bitte warten ..
Mitglied: 60730
07.12.2009 um 16:35 Uhr
Zitat von messebe:
Dann steht es richtig drin, die komplette angabe Dokumente und Einstellungen\xxx\eigene Dateien
na dann...

schreib doch mal, was ist Montags denn so besonderes?
oder welche der 3 bekannten Bätche nimmst du denn?

btw: Wald Bäume Zaunpfahl Groschen schon gefallen?
Offensichtlich nicht.

Wer sich
  • keine Mühe beim Frage stellen
  • mir grußlos an die Euter will
  • es beim ersten Wink mit dem Zaunpfahl immer noch nicht gemerkt hat

dem kann und will ich nicht helfen.

keine Arme - keine Kekse
Bitte warten ..
Mitglied: messebe
07.12.2009 um 16:43 Uhr
Wenn ich set eingebe, dann steht der es richtig drin, das Problem ist das auslesen in einer Schleife.
Der wert steht drin in SOURCEDIR1, der rest läuft dann problem los

FOR %%I in (%SOURCEDIR1%,verz1,verz2,verz3 ) do xcopy %SOURCE%\%%I\*.* %TARGET%\%XX%\%%I\*.* /S/E/Y >> %LOG%
Bitte warten ..
Mitglied: Snowman25
07.12.2009 um 16:44 Uhr
wenn du uns jetzt noch sagen könntest, WIE du SOURCEDIR1 ausliest und was du danach noch so damit anstellst, wären wir dir alle sehr dankbar....
Bitte warten ..
Mitglied: 60730
07.12.2009 um 16:50 Uhr
@Snowman,

der Grußlose ist merkbefreit... und quotation marks kennt er auch nicht...
Bitte warten ..
Mitglied: Snowman25
07.12.2009 um 16:56 Uhr
Zitat von 60730:
@Snowman,

der Grußlose ist merkbefreit... und quotation marks kennt er auch nicht...

scheint leider so...
so langsam finde ich, man sollte die domain 'benutzer.de'-Domain abschaffen... dann würden hier wohl auch weniger sinnbefreite rumrennen

Gruß
Snow
Bitte warten ..
Mitglied: messebe
07.12.2009 um 17:03 Uhr
Dann schafft auch gleich den Administrator.de mit ab
Bitte warten ..
Mitglied: Biber
07.12.2009 um 17:05 Uhr
Moin messebe,

was die beiden Jungs und Mädels dir durch die Blume zu sagen versuchen:
  • Du hast ein Skript-Problem bzw eine Zeile im Skript, die vom CMD-Interpreter anders verstanden wird als du es meinst.
  • der CMD-Interpreter hat uns gegenüber den Vorteil, dass er zumindest diese Zeile samt Kontext nachdenklich betrachten kann - wir können es nicht.
  • Oder, um vielleicht mal die zu einschränkende IT-Brille abzunehmen: Stell dir vor, du betreibst eine kleine Kfz-Werkstatt.
Eines Tages steht ein schwarzer Chevy vor deiner Werkstatttür mit einem Zettel unterm Scheibenwischer:
"Macht manchmal komische Geräusche. Bitte prüfen (erstmal nur Sichtkontrolle und Kostenvoranschlag). Danke im vorraus."

Wie würdest du vorgehen?

Grüße
Biber
Bitte warten ..
Mitglied: 60730
07.12.2009 um 17:16 Uhr
@Biber:

was am 15.09.2006, um 21:28:29 Uhr noch klappte
Zitat von messebe:
Hallo an die Runde,
war am am 26.09.2007, um 17:48:49 Uhr schon vergessen.
und ging am 06.02.2009, um 15:26:05 Uhr genauso weiter wie am 04.04.2009, um 16:14:00 Uhr oder am 23.06.2009.
Nur heute hat jemand (ich) es gewagt das mal anzusprechen.


btw: der schwatte chewie - macht 1024.67 € und hat ein r zuviel am Scheibenwischer....
@messebe:
Überheblich?
oder doch besser stur?
wtf bedeutet denn eigentlich "quotation marks"

Gruß
Bitte warten ..
Mitglied: messebe
07.12.2009 um 17:22 Uhr
Hallo Biber,
nett das DU dich meldest.
So, folgendes Problem, ich möchte mehrere Verzeichnisse sichern, und weil ich ein wenig faul bin, wollte ich das mit einer Schleife machen.
Habe das ganze einmal schon so gelöst :

SET XX=%monat%-%tag%-%jahr%
SET LOG=e:\Protokoll\%XX%-LOG.txt
SET SOURCE=d:\lexware\datenbank
SET TARGET=e:\lexware-Sicherung
FOR %%I in (F0,F1,F2,lxbackup ) do xcopy %SOURCE%\%%I\*.* %TARGET%\%XX%\%%I\*.* /S/E/Y >> %LOG%

Jetzt möchte ich ein paar andere Verzeichnisse sichern, darunter auch das Verzeichnis :
d:\dokumente und einstellungen\xxxxx\eigene Dateien

Also fülle ich die Variable mit :
SET SOURCEDIR1=dokumente und einstellungen\xxxxx\eigene Dateien
SET LOG=c:\%XX%-LOG.txt
SET SOURCE=d:
SET TARGET=%Stick%backup

Das steht dann auch richtig drin, wenn ich es mit Set oder echo %SOURCEDIR1% wieder auslesen.
Wird die For . . Schleife abgearbeitet, dann erhalte ich nur :
einstellungen\xxxxx\eigene und das ist zu wenig
Bitte warten ..
Mitglied: Biber
07.12.2009 um 18:15 Uhr
Moin messebe,

ich will mal so sagen...
Wenn du Leerzeichen in einem Pfad/Dateinamen hast, dann musst du diesen in Anführungszeichen (neudeutsch: quotation marks) setzen.
Oder als Demo am CMD-Prompt (führendes ">" nicht mit eingeben, ist mein Prompt):
01.
>set "Sourcedir1=%appdata%" 
02.
>set "Sourcedir2="%appdata%"" 
03.
>set source 
04.
Sourcedir1=C:\Dokumente und Einstellungen\Biber\Anwendungsdaten 
05.
Sourcedir2="C:\Dokumente und Einstellungen\Biber\Anwendungsdaten" 
06.
 
07.
>for %i in (%sourcedir1%,%sourcedir2%) do @echo [%i] 
08.
[C:\Dokumente] 
09.
[und] 
10.
[Einstellungen\Biber\Anwendungsdaten] 
11.
["C:\Dokumente und Einstellungen\Biber\Anwendungsdaten"]
Wird der Unterschied beim Abarbeiten der FOR-Anweisung durch die CMD.exe für dich deutlich?

Grüße
Biber
Bitte warten ..
Mitglied: messebe
07.12.2009 um 18:49 Uhr
Hallo Biber,
wenn ich das richtig sehe, dann sagst du der Variabel ( Sourcedir2), das der nachfolgende Wert in Hochkammas steht und diese übernommen werden sollen.
Und wenn dann die Schleife abgearbeitet wird,dann wird "SOURCEDIR1 in seine Bestandteile zerlegen,die durch das Leerzeichen getrennt sind. SOURCEDIR2 übernimmt die Leerzeichen aber und stellt den Wert komplett dar.

Ich glaube der Groschen ist gefallen
Bernd
Bitte warten ..
Mitglied: Biber
08.12.2009 um 07:35 Uhr
Moin Messebe,

noch sicherheitshalber ein Nachtrag. Obwohl ich ja eigentlich gar nicht nachtragend bin.

gestern hatte ich ja mit dem kleinen Beispiel am CMD-Prompt demonstriert, wie "Pfade mit Leerzeichen" im Stück, als ein Token, transportiert werden können.

Der Vollständkeit halber - es kann ja sein, dass du diesen token ohne umschließende Anführungszeichen brauchst.
Dann (in dem Beispiel von gestern) statt %i zusätzlich die Tilde verwenden (%~i):
01.
>set "Sourcedir1=%appdata%" 
02.
>set "Sourcedir2="%appdata%"" 
03.
>set source 
04.
Sourcedir1=C:\Dokumente und Einstellungen\Biber\Anwendungsdaten 
05.
Sourcedir2="C:\Dokumente und Einstellungen\Biber\Anwendungsdaten" 
06.
 
07.
>for %i in (%sourcedir1%,%sourcedir2%) do @echo [~%i] 
08.
[C:\Dokumente] 
09.
[und] 
10.
[Einstellungen\Biber\Anwendungsdaten] 
11.
[C:\Dokumente und Einstellungen\Biber\Anwendungsdaten]
im Batch jeweils zwei Prozentzeichen statt einem vor den Laufvariablen (%%i statt %i etc)

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Windows Server
SimpleHelp - Problem (4)

Frage von ArnoNymous zum Thema Windows Server ...

Microsoft
Problem mit meinem PC (24)

Frage von AaronH96 zum Thema Microsoft ...

DNS
gelöst Wieder ein Problem mit der ASA (4)

Frage von Yannosch zum Thema DNS ...

Vmware
gelöst Keyboard problem (7)

Frage von rocco61 zum Thema Vmware ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

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 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

LAN, WAN, Wireless
Gebäudeverkabelung 10Gigabit LWL (28)

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

Windows Update
Novemberpatches und Nadeldrucker bereiten Kopfschmerzen (14)

Tipp von MettGurke zum Thema Windows Update ...