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

Zu einer Variablen Hochkommata am Ende hinzufügen

Frage Entwicklung Batch & Shell

Mitglied: ecile87

ecile87 (Level 1) - Jetzt verbinden

16.02.2011, aktualisiert 15:55 Uhr, 3658 Aufrufe, 12 Kommentare

Hallo zusammen,

ich habe folgenden batch-code:


01.
@echo off & setlocal  
02.
 
03.
set "Datei=%~3"  
04.
 
05.
set "Z="  
06.
for /f "usebackq skip=2 delims=" %%i in ("%Datei%") do if not defined Z  set "Z=%%i"   
07.
set "H =^" " 
08.
set "Z=%Z%%H%"  
09.
echo %Z%

Ich möchte dem Inhalte der Datei noch ein " hinzufügen und bekomme es einfach nicht hin. Mein Variable H ist hier leer, er speichert in ihr nichts ab!

Wäre dankbar für eure Hilfe!

Grüße
Mitglied: Skyemugen
16.02.2011 um 15:58 Uhr
Aloha,

was macht das Leerzeichen zwischen H und = (Und es ist auch richtig, dass noch ein Leerzeichen hinter dem " gesetzt ist)?

Anders ausgedrückt:
set "H=^""
ergibt
"
als Ausgabe ...

greetz André

edit: @bastla meh, lieber escapen angewöhnen, wo es Text sein soll, als es weglassen und später irgendwo vergessen ;)
edit²: nimm ihm doch nicht seine Variable weg *sniff* das Z fühlt sich doch jetzt so alleine
Bitte warten ..
Mitglied: bastla
16.02.2011 um 16:05 Uhr
... bzw in der Kurzfassung: Verwende
set "H=""
oder auch nur
set H="
wenn Du sicher stellst, dass in dieser Zeile nach dem " nix mehr kommt ...

Wozu übrigens die Variable %H%? So ginge das auch:
set Z=%Z%"
Grüße
bastla

[Edit] @Skyemugen: Aber doch nur escapen, wenn's auch gebraucht wird, sonst wirst Du gar nicht mehr damit fertig ... [/Edit]
Bitte warten ..
Mitglied: ecile87
16.02.2011 um 16:24 Uhr
Hallo,

danke für eure schnellen Antworten.
Es funktioniert nun auch das in H das Hochkommata gespeichert wird, allerdings funktioniert es nicht es zu Z am Ende hinzuzufügen. Habe nun die verschiedenen Varianten von euch durchgespielt aber in Z war immer nur der ursprüngliche Pfad. Woran kann das liegen?

Viele Grüße
Bitte warten ..
Mitglied: 60730
16.02.2011 um 16:30 Uhr
moin,

klitschkokleine Gegenfrage:

  • warum das ganze?
  • nur um die Hochkommavariable H zu nennen, die nur einmal und nie wieder gebraucht wird?
siehe Bastlas Einwand und Lösung.

Gruß
Bitte warten ..
Mitglied: ecile87
16.02.2011 um 16:36 Uhr
Hallo

ja ich habe H eingeführt weil es ohne nicht funktioniert hat!
Habe mehrfach bastis Lösung ausprobiert aber es funktioniert leider nicht.
in meinem echo steht nur der String den ich vorher in Z speichere ohne "

Gruß
Bitte warten ..
Mitglied: Biber
16.02.2011 um 16:42 Uhr
[OT]
Außerdem, ecile87,

...ich hab auch den anderen im Forum schon millionenmal geschrieben, die sollen nicht immer so schamlos übertreiben.

Zitat von ecile87:
Es funktioniert nun auch das in H das Hochkommata gespeichert wird,
Niemand kann "das Hochkommata" speichern.

So lobenswert ich es finde, dass du nicht schreibst "das Hochkommas"...

Hier im Forum können sich die Jungs & Mädels stundenlang mit dem Spalten von Haaren und Härchen beschäftigen...

Grüße
Biber
[/OT]
Bitte warten ..
Mitglied: 60730
16.02.2011 um 16:48 Uhr
und machst du es doch mit dem @echo off - wird der T-Mo ganz schnell schroff und Demonstriert, was ohne echo off passiert

C:\>for /f "usebackq skip=2 delims=" %i in ("d:\test.ini") do if not defined Z  set "Z=%i" 
C:\>if not defined Z set "Z=Creating archive e:\ftptest\123.zip" 
C:\>if not defined Z set "Z=Compressing  Neu Textdokument.txt" 
C:\>if not defined Z set "Z=Everything is Ok" 
 
C:\>echo %Z% 
Creating archive e:\ftptest\123.zip
C:\>set Z= 
C:\>for /f "usebackq skip=2 delims=" %i in ("d:\test.ini") do if not defined Z  set "Z=%i"" 
C:\>if not defined Z set "Z=Creating archive e:\ftptest\123.zip"" 
C:\>if not defined Z set "Z=Compressing  Neu Textdokument.txt"" 
C:\>if not defined Z set "Z=Everything is Ok"" 
 
C:\>echo %Z% 
Creating archive e:\ftptest\123.zip"
<edit>
[OT]@ Biber: Danke für das Jungs in knapp 6 Wochen feiere ich meinen 30. Jahrestag, als ich meinen ZX-81 auspacken und zusammenschrauben durfte [/OT]
</edit>
Bitte warten ..
Mitglied: ecile87
16.02.2011 um 17:01 Uhr
Es tut mir leid dass ich ein Anfänger in Batch bin und im Internet nichts gefunden habe und mich deshalb an euch gewandt habe!

Mach ich die Zeile mit echo off raus, gibt er mir trotzdem aus, dass Z gleich bleibt! Er fügt " nicht hinzu.
Er gibt mir dann dies für die entsprechende Zeile aus:

set Z=STRING
Bitte warten ..
Mitglied: Skyemugen
16.02.2011 um 17:10 Uhr
Aloha Biber!
[OT]
Hochkommas *schauder* ist (sind[?]) umgs. halt nicht gebräuchlich ... wobei mir das Wort Hochkommata vorallem im Plural(!) mit Singularartikel auch noch nicht untergekommen ist aber gut, für mich ist es ein Zollzeichen ^_^ (Anführungszeichen gibt es auf einer Tastatur ja nicht und würden in der Shell auch gar nicht als das erkannt, wofür man Shift+2 einsetzt *g*)

Grüße, André
[/OT]
Bitte warten ..
Mitglied: bastla
16.02.2011 um 17:20 Uhr
Hallo ecile87!

Mal unabhängig von allem anderen Drumherum: Wozu genau soll dieses Hochkomma tda in die Variable?

Im Zweifelsfall würde ich davon ausgehen, dass irgendwann die Variable auch noch mal verwendet wird - und genau dann würde ich dieses "Zollzeichen" drankleben ...

Grüße
bastla

P.S.: Du könntest es aber natürlich (der etwas besseren Nachvollziehbarkeit wegen) T-Mo gleichtun und einfach einmal posten, was bei Dir so nach dem Entfernen des "echo off" auf dem Bildschirm landet (im Zweifelsfall mit einer etwas gekürzten %3-Datei) ...
Bitte warten ..
Mitglied: 60730
16.02.2011 um 17:55 Uhr
(OT)
Hochkomma ist dieses Zeichen ' auch als Apostroph oder wenn's so geschrieben wird - auch als Deppenapostroph bekannt.
Anführungszeichen / Gänsefüße / Zollzeichen? - sind diese „"
Diese Zeichen sind weder verwandt noch verschwägert.
Edit:
Aber kann das (wieauchimmerZeichen) nicht einfach downgeloadet werden? Ich geh mal Hoch zu meiner Omma, die hat noch Nachtspeicheröfen, vielleicht kann die das Zeichen absaven
Ich leg mich wieder hin, sonst muß ich noch Strafzöllezeichen zählen....
(/OT)
Bitte warten ..
Mitglied: Biber
16.02.2011 um 18:04 Uhr
[OT ff] @T-Mo
... dennoch ist ebenso unmöglich ein Hochkommata zu speichern wie eine ganze Apostrophe.
..oder ein einzelnes Zöllezeichen...
Hoffentlich haben diese Beiträge bald grüne Häkchen und eine Ende.....
[/OT ff]
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Netzwerkgrundlagen
Netzwerkordner in Drucker hinzufügen (3)

Frage von Nightmehr zum Thema Netzwerkgrundlagen ...

Batch & Shell
gelöst Variablen Zusammenbauen 2.0 ( Batch ) (6)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst FOR Loop Variablen ( Batch ) (2)

Frage von clragon zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...