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, 1481 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 BATCH: Daten aus Textdatei auslesen und in neue Textdatei separieren (9)

Frage von Manuel1234 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 ...

Batch & Shell
gelöst Bestimmte Zeile einer Textdatei mit Batch auslesen (2)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows Server
gelöst Exchange HyperV Prozessorlast (19)

Frage von theoberlin zum Thema Windows Server ...

Hardware
16-20 Port POE Switch mit VLAN (19)

Frage von thomasreischer zum Thema Hardware ...

LAN, WAN, Wireless
gelöst Batchdatei um einen Proxy einzustellen (14)

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

Windows Userverwaltung
Nicht Administratoren Installation von Software erlauben (14)

Frage von WinLiCLI zum Thema Windows Userverwaltung ...