2009-05-31 7 views
2

Ich habe wie eine log.txt-Datei mit folgendem Inhalt:Set = log.txt im Batch

MyName 

Meine Partie:

@echo off 
set name= [log.txt] 

im [log.txt] Teil, soll es lesen 'MyName' aus der Datei log.txt, um sie als 'Name' festzulegen.

Wie?

Antwort

6

Sie können auch

set /p name=<log.txt 

verwenden, die kürzer und etwas weniger hässlich angesehen werden könnten.

+0

Hmm, warum ist das bei mir beim letzten Mal gescheitert:/ – grawity

+0

Weiss nicht :-). Beide Methoden funktionieren tatsächlich, haben aber unterschiedliche Auswirkungen auf Dateien, die mehr als nur eine Zeile enthalten. – Joey

+0

es funktioniert für mich, also ist es in Ordnung, das ist viel weniger Zeug. –

2

In cmd.exe, gibt es nur diese hässliche Art und Weise:

@echo off 
for /f "usebackq tokens=* delims=" %%i in ("log.txt") do (
    set name=%%i 
) 
+1

Sie können die usebackq und Tokens-Optionen übrigens von dort aus schneiden, wie Sie sie nicht verwenden. – Joey

+0

Das ist zu viel Arbeit, oben scheint es einfacher zu sein. –

+0

@Joey 'tokens = * delims =' ist schneller als eine einzelne 'delims =' – jeb