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

Variable in TextDatei auslesen

Frage Entwicklung Batch & Shell

Mitglied: arvaxtr

arvaxtr (Level 1) - Jetzt verbinden

30.05.2014, aktualisiert 30.07.2015, 1485 Aufrufe, 5 Kommentare, 1 Danke

Hallo Leute,

ich habe eine TextDatei, in der eine Benutzervariable steht:
%MyVar% ist als Benutzervariable in den Umgebungsvariablen definiert.

Inhalt Datei.ini:
%MyVar%


Mit folgendem Befehl lese ich die erste Zeile aus:
for /f "usebackq skip=1 delims=" %%i in ("%CD%\Datei.ini") do (set "vFirstLine=%%i")


Ich rufe eine zweite Batch auf, und übergeben die Variable:
call "vFile.bat" "!vFirstLine!"


Die vFile.bat gibt den Parameter aus:
echo %1

Hier erhalte ich aber den Inhalt der Variable "MyVar"

Was ich aber will ist, dass einfach nur das Wort %MyVar% ausgegeben wird, also als reiner Text, wie er in der Datei.ini steht.

Ich brauche diesen als reinen Text, da dieses "Wort" in eine weitere Datei geschrieben werden soll...

Wie geht das?
Mitglied: Xaero1982
LÖSUNG 30.05.2014, aktualisiert 30.07.2015
Moin,

so ganz den Sinn dahinter versteh ich nicht, aber machs mal mit:

01.
call "vFile.bat" %%vFirstLine%%
Gruß
Bitte warten ..
Mitglied: arvaxtr
30.05.2014, aktualisiert um 20:17 Uhr
Hi,
sorry, ich schildere mein Problem noch mal anschaulicher:
Ich will, dass ein Pfad genauso wiedergegeben wird, wie er in der TXT-Datei steht, anstatt dass darin enthaltene Variablen als dessen Werte ausgegeben werden.

desktop.ini
01.
[.ShellClassInfo] 
02.
IconResource=%windir%\win.ico
MainBatch.bat
01.
@echo off & setlocal enableDelayedExpansion 
02.
 
03.
::READ 
04.
for /f "usebackq skip=1 delims=" %%i in ("%CD%\desktop.ini") do (set "vFirstLine=%%i") 
05.
 
06.
::Display 
07.
echo "!vFirstLine!" 
08.
 
09.
::Pass Parameter 
10.
call "SubBatch.bat" "!vFirstLine!"

SubBatch.bat
01.
@echo off 
02.
 
03.
echo %1 
04.
 
05.
pause

Die Ausgabe:
01.
"IconResource=%windir%\win.ico" 
02.
"IconResource=C:\Windows\win.ico" 
03.
Drücken Sie eine beliebige Taste . . .
Wie man an der zweiten Zeile sieht, ist der Parameter in der Datei SubBatch.bat umgewandelt worden.
Das möchte ich aber vermeiden, so dass der Parameter wie die erste Zeile ausgegeben wird...

Was ich desweiteren absolut nicht hinbekomme ist, eine Variable in die ZwischenAblage zukopieren

01.
echo %%windir%%|clip 
02.
echo ^%windir^%|clip
Klappt alles nicht, ich will nicht den Wert von dieser Variable in die Zwischenablagen haben, sondern genau diesen Text "%windir%"...
Bitte warten ..
Mitglied: Xaero1982
30.05.2014 um 20:21 Uhr
Und ich wiederhole meinen Beitrag gerne noch mal

Du kannst gerne auch die "" angeben. Spielt aber keine Rolle.

Ich habe gerade exakt die von dir genannten Dateien erstellt mit den identischen Namen und habe in der MainBatch folgendes geändert:

01.
call "SubBatch.bat" "%%vFirstLine%%"
Ausgabe:

01.
"IconResource=%windir%\win.ico" 
02.
"IconResource=%windir%\win.ico" 
03.
Drücken Sie eine beliebige Taste . . .
Ich würde meinen, dass die Ausgaben identisch sind, oder?

Gruß
Bitte warten ..
Mitglied: arvaxtr
30.05.2014, aktualisiert um 20:33 Uhr
Hi, Xaero1982
ich könnte schwören, das die doppelten Prozentzeichen so ziemlich das Erste war, was ich zuerst ausprobiert hatte, bevor ich mir die Mühe machte, die Frage hier zu posten.
Es klappt jetzt wie mit Zauberkraft, vielen vielen Dank ))

bleibt noch die Frage, wie ich die Variable %windir% in die Zwischen Ablage kopieren kann,

echo %%windir%%|clip
echo ^%windir^%|clip

klappen nicht
Bitte warten ..
Mitglied: Xaero1982
30.05.2014 um 21:07 Uhr
Das klappt auch so nicht wie es aussieht. Denn der Zwischenablage scheint es warum auch immer wurscht zu sein mit den %% Zeichen.

Du musst das daher in meinen Augen (Bastla?? ) umgehen:

01.
echo %%windir%% >test.log 
02.
clip < test.log 
03.
del test.log 
04.
 
Gruß
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Variable per Batch auslesen und in Registry schreiben (1)

Frage von Zendara zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: CPU-Auslastung eines Prozesses auslesen und als Variable definieren (3)

Frage von tralveller zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (50)

Frage von sabines zum Thema Internet ...

Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (26)

Frage von PixL86 zum Thema Netzwerke ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (24)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
Windows 2016 Hyper-V und VHDS (18)

Frage von emeriks zum Thema Windows Server ...