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

gelöst Batch Variable lässt sich nicht kürzen

Mitglied: Kriegstreiber

Kriegstreiber (Level 1) - Jetzt verbinden

16.09.2019, aktualisiert 19:08 Uhr, 381 Aufrufe, 8 Kommentare

Hi,

ich stehe vor einem seltsamen Problem. Ich lese den Inhalt einer Textdatei ein und setze den als Variable.

01.
set /p MaxCLL=<"%TEMP%\Info.txt"
02.
set "MaxCLL=%MaxCLL:~-6%"
Wie man hier sieht, will ich die letzten 6 Ziffern löschen.

gebe ich jetzt echo %MaxCLL% ein, erscheint das hier: :~-6%
setze ich das echo %MaxCLL% vor Codezeile 2, funktioniert es (nur halt leider zu lang)

Alternativ würde auch das einlesen der TXT mit tokens gehen, es wäre immer der erste Token in der ersten Zeile. Aber auch dazu bin ich irgendwie nicht fähig.
Langsam gehen mir die Ideen aus...
Mitglied: SeaStorm
16.09.2019, aktualisiert um 19:21 Uhr
Hi

flüchtigkeitsfehler

01.
set MaxCLL=%MaxCLL:~-6%
also ohne die Anführungszeichen

EDIT
Grad gesehen du schneidest nicht die letzten 6 weg, sondern zeigst die letzten 6 an.
Abschneiden wäre
01.
set MaxCLL=%MaxCLL:~0,-6%
Bitte warten ..
Mitglied: Kriegstreiber
16.09.2019, aktualisiert um 19:27 Uhr
Geht leider auch nicht, dasselbe Problem (hatte die Füsschen erst später gesetzt, weil ich dachte, die seien schuld).

Komisch ist auch folgendes:

Funktioniert:
for /f "usebackq tokens=1" %%a in ("%TEMP%\Info.txt") do echo MaxCLL=%%a

Funktioniert nicht:
for /f "usebackq tokens=1" %%a in ("%TEMP%\Info.txt") do set MaxCLL=%%a
echo %MaxCLL%

Bei deinem zweiten Vorschlag ist das Ergebnis:
MaxCLL=~0,-6
Bitte warten ..
Mitglied: 140913
16.09.2019, aktualisiert um 19:30 Uhr
Eingangsdatei hat falsches Encoding (Unicode/UTF8/etc).
https://ss64.com/nt/chcp.html
Btw. https://www.dostips.com/DtTipsStringManipulation.php
Bitte warten ..
Mitglied: SeaStorm
16.09.2019, aktualisiert um 19:28 Uhr
doch das geht so ... in einem nackigen Script
Und ... steig auf Powershell um ...

Zeig mal dein ganzen Script
Bitte warten ..
Mitglied: Kriegstreiber
16.09.2019, aktualisiert um 20:03 Uhr
01.
@ECHO ON
02.
>nul chcp 1252
03.
TITLE HDR10 METADATA PARSER [Team QfG]
04.
@echo off & setlocal
05.
mode con cols=120 lines=40
06.
set DIR_TOOL=%MyFiles%
07.
set MEDIAINFO="%DIR_TOOL%\mediainfo.exe"
08.
IF EXIST "%DIR_TOOL%\mediainfo.exe" (
09.
	set MIOK=TRUE
10.
) else (
11.
	set MIOK=FALSE
12.
)
13.
set EXTRACTED=FALSE
14.
set WAIT="%DIR_TOOL%\SFK" sleep
15.
set GREEN="%DIR_TOOL%\SFK" color green
16.
set RED="%DIR_TOOL%\SFK" color red
17.
set YELLOW="%DIR_TOOL%\SFK" color yellow
18.
set WHITE="%DIR_TOOL%\SFK" color white
19.
set CYAN="%DIR_TOOL%\SFK" color cyan
20.
set MAGENTA="%DIR_TOOL%\SFK" color magenta
21.
set GREY="%DIR_TOOL%\SFK" color grey
22.
IF "%~1"=="" goto :INFO
23.
:INITIALIZE
24.
rem LOGO START
25.
%GREEN%
26.
echo HDR10 METADATA PARSER                                                                        v0.1 beta (c) 2019 Team QfG
27.
echo.
28.
echo.                                                     LOADING
29.
echo.
30.
echo == INITIALIZING ========================================================================================================
31.
echo.
32.
%WHITE%
33.
echo Initializing. Please wait...
34.
IF "%MIOK%"=="FALSE" (
35.
	%RED%
36.
	echo.
37.
	echo MediaInfo not found!
38.
	echo Check your Antivirus Software.
39.
	echo.
40.
	goto EXIT
41.
)
42.
set RESOLUTION=
43.
set CODEC_NAME=
44.
set FRAMERATE=
45.
set DAR=
46.
set FRAMES=
47.
set DURATION=
48.
set MaxCLL=
49.
IF NOT "%~1"=="" (
50.
	%MEDIAINFO% --output=Video;%%Width%%x%%Height%% %1>"%TEMP%\Info.txt"
51.
	set /p RESOLUTION=<"%TEMP%\Info.txt"
52.
	%MEDIAINFO% --output=Video;%%HDR_Format_Commercial%% %1>"%TEMP%\Info.txt"
53.
	set /p COLORSPACE=<"%TEMP%\Info.txt"
54.
	%MEDIAINFO% --output=Video;%%MasteringDisplay_ColorPrimaries/String1%% %1>"%TEMP%\Info.txt"
55.
	set /p HDRINFO=<"%TEMP%\Info.txt"
56.
	%MEDIAINFO% --output=Video;%%MaxCLL%% %1>"%TEMP%\Info.txt"
57.
	for /f "usebackq tokens=1" %%a in ("%TEMP%\Info.txt") do set MaxCLL=%%a
58.
	rem for /f "usebackq tokens=1" %%a in ("%TEMP%\Info.txt") do echo MaxCLL=%%a
59.
	echo MaxCLL=%maxCLL%
60.
	rem set /p MaxCLL=<"%TEMP%\Info.txt"
61.
	pause
62.
	%MEDIAINFO% --output=Video;%%Format%%^-%%BitDepth%%Bit^-%%ColorSpace%%^-%%ChromaSubsampling%% %1>"%TEMP%\Info.txt"
63.
	set /p CODEC_NAME=<"%TEMP%\Info.txt"
64.
	%MEDIAINFO% --output=Video;%%FrameRate%% %1>"%TEMP%\Info.txt"
65.
	set /p FRAMERATE=<"%TEMP%\Info.txt"
66.
	%MEDIAINFO% --output=Video;%%DisplayAspectRatio/String%% %1>"%TEMP%\Info.txt"
67.
	set /p DAR=<"%TEMP%\Info.txt"
68.
	%MEDIAINFO% --output=Video;%%FrameCount%% %1>"%TEMP%\Info.txt"
69.
	set /p FRAMES=<"%TEMP%\Info.txt"
70.
	%MEDIAINFO% --output=Video;%%Duration/String%% %1>"%TEMP%\Info.txt"
71.
	set /p DURATION=<"%TEMP%\Info.txt"
72.
	del "%TEMP%\Info.txt">nul
73.
)
Ich habe am Anfang des Scripts die Codepage geändert, ich versuche das mal ohne Änderung.
Bitte warten ..
Mitglied: 140913
16.09.2019, aktualisiert um 19:50 Uhr
Hier ist dein Fehler, du erzeugst eine leere Datei wenn die Eigenschaft nicht existiert.
%MEDIAINFO% --output=Video;%%MaxCLL%% %1>"%TEMP%\Info.txt"
Und wenn nichts in der Datei steht kann du auch nicht kürzen und es kommt zu der entsprechenden Ausgabe die du oben siehst
Bitte warten ..
Mitglied: Kriegstreiber
16.09.2019, aktualisiert um 20:05 Uhr
LÖSUNG:

01.
for /f "usebackq tokens=1" %%a in ("%TEMP%\Info.txt") do set MaxCLL=%%a
Das Auflösen geht natürlich nur nach den (), aber das reicht mir, brauche die Variable erst später .

Ich Idiot habe das echo in den Klammern gesetzt zum überprüfen..... *kopfschüttel*
Bitte warten ..
Mitglied: 140913
16.09.2019, aktualisiert um 21:05 Uhr
Zitat von Kriegstreiber:
Das Auflösen geht natürlich nur nach den (),
Nö, das geht mit Delayed Expansion und Ausrufezeichen statt Prozentzeichen oder call set auch innerhalb der Klammern ;)
https://ss64.com/nt/delayedexpansion.html
Bitte warten ..
Ähnliche Inhalte
Windows 7

Netzwerk Bricht immer wieder kurz zusammen

Frage von auger123Windows 75 Kommentare

Hallo, in Unserer Domäne bricht das Netzwerk immer mal kurz an an den Clients weg, dadurch kommt es in ...

Grafikkarten & Monitore

Monitor geht beim Lichteinschalten kurz aus

Frage von trallerGrafikkarten & Monitore17 Kommentare

Hallo, ich habe gerade festgestellt, dass mein neuer Monitor beim Einschalten der Schreibtischlampe ausgeht. Die hängen auf dem selben ...

Windows 10

PC Absturz kurz nach dem Hochfahren

Frage von OldsmobilWindows 103 Kommentare

WIN 10 1607; SSD; 4GB Mein PC mach seit einiger Zeit Problem beim Hochfahren, weil er kurz danach einfriert ...

Server-Hardware

IBM Server x3500 (Typ 7977) startet nur kurz

gelöst Frage von Ben-WittServer-Hardware14 Kommentare

Bei einem IBM Server x3500 / 7977 habe ich folgendes Hardware Problem: Während des Betriebs mit W2K16-E ging er ...

Neue Wissensbeiträge
Off Topic
Noch mehr was ich nicht brauche
Information von brammer vor 1 TagOff Topic6 Kommentare

Hallo, WOFÜR? WARUM? brammer

Windows Server

Windows Server 2016 Suche nicht funktioniert ist ausgegraut Windows Server 2016 Search not work

Erfahrungsbericht von Wano347 vor 2 TagenWindows Server

Hallo Leute, wir haben vor kurzem ein Problem gehabt: Windows Server 2016 frisch installiert. Nach Checkliste konfiguriert (sieht vor ...

Microsoft Office

Microsoft geht nun rechtlich gegen Lizengo vor - Billig Software

Information von takvorian vor 2 TagenMicrosoft Office6 Kommentare

Hallo zusammen, eben auf CRN gefunden, weis nicht ob das schon wer gepostet hat Microsoft verklagt Lizengo Gruß Tak

Firewall
Übernahme von SOPHOS durch Thoma Bravo
Information von Dilbert-MD vor 2 TagenFirewall3 Kommentare

Kam die Tage per Newsletter: Zitat: " Das Sophos Board of Directors hat gestern bekanntgegeben, dass die Private-Equity-Investment-Firma Thoma ...

Heiß diskutierte Inhalte
Sicherheitsgrundlagen
Was tun, wenn der Chef seine eigenen IT-Regeln nicht durchsetzt?
gelöst Frage von Bl0ckS1z3Sicherheitsgrundlagen24 Kommentare

Hallo Admins, im Zuge der DSGVO haben wir in unserem Unternehmen mit dem Datenschutzbeauftragten ein neues IT-Nutzerhandbuch erstellt. Hier ...

Windows 10
Win 10 - Seltsame popups die nerven
Frage von BigSnakeyeWindows 1022 Kommentare

Hallöchen! An einem Win 10 Notebook habe ich Probleme mit extrem nervigen Popups rechts unten in der Ecke. Dort ...

CPU, RAM, Mainboards
Kein Bild mit neuem Mainboard
Frage von Ghost108CPU, RAM, Mainboards21 Kommentare

Hallo zusammen, habe einen PC mit 4 RAM Riegeln, einer Intel CPU 1151 Socket und einem Mainboard Asus B150M-A/M.2 ...

TK-Netze & Geräte
Rufnummernportierung am Festnetz wird vom Anbieter nicht unterstützt - Was kann man da machen
Frage von StefanKittelTK-Netze & Geräte19 Kommentare

Hallo, ein Kunde von mir hat mehrere Standort. Die meisten haben DSL/Kabel und sind per Telefon bei NFON (VOIP). ...