keksprinz
Goto Top

Batch - TXT Datei kürzen

Hallo zusammen ich hab ein kleines Problem,

Ich hab mir ne Batch Datei gebastelt, die folgende Zeile in einer Textdatei (test.txt) auswirft

Device REG_SZ \\XAVIA\Canon S300,winspool,Ne01:

da ich gerne nur \\XAVIA\Canon S300 als Variable benutzen will frag ich mich wie bekomme ich per Batch aus meiner test.txt
den String raus. "\\" makiert immer den Anfang und das erste "," das Ende. das ganze hätte ich dann gerne in einer Variable um weiter machen zu können.

Hoffe ihr habt ein parr hilfreiche Ideen.


Danke Keksprinz

Content-Key: 42591

Url: https://administrator.de/contentid/42591

Printed on: April 25, 2024 at 06:04 o'clock

Member: miniversum
miniversum Oct 19, 2006 at 16:03:07 (UTC)
Goto Top
Gehts so?

FOR /F "tokens=1-3 delims=," %%I in ('find "//" test.txt') do Set Var=%%I

echo %Var%

miniversum
Member: Biber
Biber Oct 19, 2006 at 17:07:52 (UTC)
Goto Top
...oder so...

:: ------snipp GetDefaultPrinter.bat
@echo off & setlocal
for /f "delims=" %%i in ('reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows" ^|find "Device"') do set "var=%%i"  
For /f "delims=," %%i in ("%var:*\=%") do echo Set "HKCUDefaultPrinter=\%%i"  
for /f "delims=" %%i in ('type %0 ^|find /v "delims"^|find "Device"') do set "var=%%i"  
For /f "delims=," %%i in ("%var:*\=%") do echo Set "DemoDefaultPrinter=\%%i"  
goto :eof
Device REG_SZ \\XAVIA\Canon S300,winspool,Ne01:
:: ------snapp GetDefaultPrinter.bat

Gruß
Biber
[Edit] Bei mir bringt der Schnipsel den Output:
>GetDefaultPrinter.bat
Set "HKCUDefaultPrinter=\\XXXXXX001\UnserEtagenDrucker010"  
Set "DemoDefaultPrinter=\\XAVIA\Canon S300"  
Member: keksprinz
keksprinz Oct 19, 2006 at 17:10:48 (UTC)
Goto Top
Leider nicht,

das Ergebins blieb das selbe, setze ich den Token = 1 Bekomme ich alles hinter dem Komma Weg. Nur wie mache ich das vorne mit dem " Device REG_SZ "?
Member: miniversum
miniversum Oct 19, 2006 at 17:14:05 (UTC)
Goto Top
Korrektur von meinem Post... (Diesmal getestet)

FOR /F "tokens=1-3 delims=," %%I in (test.txt) do Set Var=%%I
echo %Var:~14%

miniversum
Member: keksprinz
keksprinz Oct 19, 2006 at 17:28:16 (UTC)
Goto Top
Auch die Lösung von Biber möchte nicht laufen, entweder steige ich gerade nicht durch, oder er bricht vorsätzlich vor der letzten Schleife ab.
Member: keksprinz
keksprinz Oct 19, 2006 at 17:44:34 (UTC)
Goto Top
Perfekt es geht. Jetzt muss die Variable %Var:~14% noch in eine Text Datei. Aber das bekomme ich bestimmt schon raus. Bisheriges Ergibnis ist: ECHO ist eingeschaltet (ON)
Member: Biber
Biber Oct 19, 2006 at 18:03:38 (UTC)
Goto Top
@keksprinz:

Sorry, ich hatte es nicht eindeutig kenntlich gemacht oben.
Die letzte Zeile "Device REG_SZ \\XAVIA\Canon S300,.." steht tatsächlich noch in meinem Batchschnipsel drin, da ich den Batch auch gleichzeitig als "DeineTextdatei.txt" missbrauche.

Teste das Beispiel bitte noch mal mit allem zwischen "::--Snipp .." und "::---Snapp .." inclusive.

Gruß
Biber
Member: miniversum
miniversum Oct 19, 2006 at 18:13:07 (UTC)
Goto Top
Ok dann das Ganze so:

@echo off
FOR /F "tokens=1-3 delims=," %%I in (test.txt) do Set Var=%%I
echo %Var:~14% >Text.txt


miniversum
Member: keksprinz
keksprinz Oct 19, 2006 at 18:40:51 (UTC)
Goto Top
Wunderbar hat alles funktioniert,
danke an Biber und miniversum,
beide Lösungen klappen.