Top-Themen

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

Batch Parameter auslesen und in bestehnder Datei einfügen (Variable)

Mitglied: olioink

olioink (Level 1) - Jetzt verbinden

16.04.2013 um 23:24 Uhr, 1932 Aufrufe, 8 Kommentare, 1 Danke

Moin Moin,

stehe leider auf dem Schlauch. Möchte aus einer Datei eine Variable auslesen (klappt) und in einer anderen
einfügen (klappt nicht).

Zur Zeit sieht es so aus:

for /f "tokens=2" %%i in ('findstr /i "%computername%" "sn.ini"') do set SRN=%%i

Variable auslesen

Danach soll der Batch die Variable in einem Unterverzeichniss in eine Datei einfügen:

set SRN=<"\test neu\test.txt"> %SRN%

Bekomme das nicht hin...

Für hilfe dankbar..


see you

Mitglied: bastla
16.04.2013 um 23:29 Uhr
Hallo olioink und willkommen im Forum!

Was verstehst Du unter "einfügen"? Falls nur "am Ende hinzufügen" gemeint wäre, einfach
>>"\test neu\test.txt" echo %SRN%
Grüße
bastla
Bitte warten ..
Mitglied: olioink
17.04.2013 um 20:30 Uhr
Moin Moin,

na ja steht in Klammern (Variable), soll als eine Varaiable eingestezt werden. Genauer
geht es um eine Seriennummer die gesetzt wird und vom Setup verwendet werden soll.

Gruß
olioink
Bitte warten ..
Mitglied: bastla
17.04.2013 um 20:53 Uhr
Hallo olioink!

Klarer macht's diese Erklärung auch nicht ...

Magst Du nicht einfach einen Vorher-Nachher-Vergleich der zweiten Datei (als "Code" formatiert posten?

Grüße
bastla
Bitte warten ..
Mitglied: olioink
17.04.2013 um 21:33 Uhr
Moin Moin bastla,

habe also 2 Dateien, in der einen steht der Computername Nummer.

Datei 1 (sn.txt) mit Namen und Nummer
01.
 PC01 xxxx.xxxx.xxx.xxx.
Datei 2 (test.txt) mit der Variablen:
01.
 Serienenummer="%SRN%"  
Die Variable %SRN% soll durch die Nummer ersetzt werden....

Erste Zeile des Batch ist
01.
 for /f "tokens=2" %%i in ('findstr /i "%computername%" "sn.txt"') do set SRN=%%i 
02.
  
Zweite Zeile soll sein
01.
set SRN /P="\test neu\test.txt" %SRN% 
soweit kann ich die Nummer auslesen bekomme sie aber nicht in die zweite Datei.

Gruß
olioink
Bitte warten ..
Mitglied: bastla
18.04.2013, aktualisiert um 12:56 Uhr
Hallo olioink!

Und warum schreibst Du die zweite Datei nicht einfach neu, wenn dort ohnehin nur
 Serienenummer="%SRN%"
stehen soll?

Grüße
bastla
Bitte warten ..
Mitglied: olioink
22.04.2013 um 21:18 Uhr
Moin bastla,

selbstverständlich steht nur nicht das in der Datei. Vom Prinzip:

Variable über batch auslesen
Dann die zwischen gespeicherte Variable in eine weitere Datei hinein schreiben.

D.h. die Datei ersetzt den Platzhalter durch den Wert der Variable. (Speichert den Wert in der Datei ab...)

Die Datei wird dann in einem unabhängigen Schritt weiter verwendet. Diese "Ergebinss Datei"
wird umkopiert und mit einer Silent Installation verwendet.

So schwer ist das doch nicht zu verstehen.

Ich denke ehr, das das nicht so ohne weiters geht, im Batch.
Sehr viele Fragen beschäftigen sich damit... ohne ein entsprechends Ergebniss.

Und selbst wenn ich sie neu schreiben muss, soll der ganze andere Inhalt mit eingefügt werden.

Im Prinzip läuft es auf gleiche raus.

Hoffe das jetzt verständlicher wird. Und wenn das nicht geht, welche alternative hat man...?

see you (hear you, read you)
olioink
Bitte warten ..
Mitglied: bastla
22.04.2013, aktualisiert um 22:00 Uhr
Hallo olioink!
So schwer ist das doch nicht zu verstehen.
... aber offensichtlich ist es schwer zu erklären - dass es mehrere Zeilen in der Datei 2 gibt, hast Du jedenfalls noch nicht einmal in Deinem Beispiel oben gezeigt ...

... anyhow: Besser ginge Derartiges zwar per VBS, aber grundsätzlich lässt sich das auch per Batch erledigen - etwa so:
01.
@echo off & setlocal 
02.
set "Datei=D:\test.txt" 
03.
set "Platzhalter=SRN" 
04.
 
05.
set "SRN=" 
06.
for /f "tokens=2" %%i in ('findstr /i "%computername%" "sn.ini"') do set "SRN=%%i" 
07.
if not defined SRN echo SRN nicht gefunden! & goto :eof 
08.
 
09.
set "TempDat=%temp%\temp.txt" 
10.
move "%Datei%" "%TempDat%" 
11.
(for /f "tokens=1* delims=:" %%i in ('findstr /n "^" "%TempDat%"') do ( 
12.
    set "Zeile=%%j" 
13.
    setlocal enabledelayedexpansion 
14.
    if defined Zeile ( 
15.
        echo !Zeile:%Platzhalter%=%SRN%! 
16.
    ) else ( 
17.
        echo( 
18.
19.
    endlocal 
20.
))>"%Datei%"
In der relevanten Zeile der "test.txt" sollte allerdings
Serienenummer="SRN"
(also ohne Prozentzeichen) stehen, wobei "SRN" nur einmal in der gesamten Datei vorkommen darf. Zur Sicherheit kannst Du natürlich "SRN" auch durch zB "_SRN_" ersetzen (natürlich auch in Zeile 3 des Batches).


Um Deine ursprüngliche Idee (also mit "%SRN%") umzusetzen, könntest Du übrigens noch
01.
@echo off & setlocal 
02.
set "Datei=D:\test.txt" 
03.
set "Platzhalter=SRN" 
04.
 
05.
set "SRN=" 
06.
for /f "tokens=2" %%i in ('findstr /i "%computername%" "sn.ini"') do set "SRN=%%i" 
07.
if not defined SRN echo SRN nicht gefunden! & goto :eof 
08.
 
09.
set "TempDat=%temp%\temp.txt" 
10.
move "%Datei%" "%TempDat%" 
11.
(for /f "tokens=1* delims=:" %%i in ('findstr /n "^" "%TempDat%"') do ( 
12.
    call echo(%%j 
13.
))>"%Datei%"
versuchen.

Grüße
bastla
Bitte warten ..
Mitglied: olioink
06.05.2013 um 23:46 Uhr
Danke bastla,

hat soweit geklappt..

merci

olioink
Bitte warten ..
Ähnliche Inhalte
Microsoft

Batch Variable Erstellen mit Info aus bestehnder Variable

Frage von berlingerMicrosoft2 Kommentare

Hallo zusammen ich weiss, doofer Titel ist mir nur nichts besseres eingefallen. Also ich versuche mit SET eine neue ...

Batch & Shell

Datei als Variable auslesen und Variable ändern

gelöst Frage von chainsawBatch & Shell1 Kommentar

Hallo Profis, ich komme mit folgendem Problem nicht weiter: In dem Verzeichnis "C:\logfiles" landen bei mir Log-Dateien. Diese Log-Dateien ...

Batch & Shell

In einer Batch-Datei einen variablen Teil eines Dateinamens auslesen

gelöst Frage von dh0815Batch & Shell5 Kommentare

Hallo Leute, das ist mein erster Post hier und ich möchte mich vorab schon dafür entschuldigen, wenn ich etwas ...

Batch & Shell

BATCH Dateinamen auslesen und an variabler Stelle x Zeichen auschneiden und am Ende wieder einfügen

gelöst Frage von Marco78Batch & Shell6 Kommentare

Ich habe folgendes Problem. Ich möchte Dateinamen um einen bestimmten Teil ändern damit ich diese sortieren kann. Ist Zustand ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 2 TagenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 2 TagenSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 3 TagenDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein interessanter Beitrag dazu: Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10 Anscheinend ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 3 TagenSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1015 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Switche und Hubs
LANCOM-Switch: Probleme (no link) mit SFP-Modulen?
Frage von THETOBSwitche und Hubs11 Kommentare

Hi zusammen, ich habe folgendes Problem: Und zwar habe ich an einem Standort drei Switche verbaut - LANCOM GS-2326P+, ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)11 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall10 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...