Challenge fyrir windows batch forritunarsnillinga..

Skjámynd

Höfundur
Bengal
Vélbúnaðarníðingur
Póstar: 395
Skráði sig: Fös 22. Ágú 2008 11:23
Reputation: 22
Staðsetning: Höfuðborgarsvæðið
Staða: Ótengdur

Challenge fyrir windows batch forritunarsnillinga..

Pósturaf Bengal » Fim 21. Mar 2013 19:25

Kóði: Velja allt

@echo off
set MEDIAINFO=%CD%\mediainfo.exe
call:enc test

:enc
for /f "tokens=*" %%%% in ('%MEDIAINFO% "%~1.avi" "--Inform=General;%%BitRate/String%%"') do set "BitRate=%%~%%"
echo %BitRate%


Vandamálið er að %BitRate% echo'ar tvisvar sinnum. Er að nota þetta í öðru scripti hjá mér svo að call verður að vera notað og ég vill að %BitRate% echo'i aðeins einu sinni án þess að bæta við fleirum call skipunum eða nota goto:eof

Einhver sem getur hjálpað? :-k

Er alveg opinn fyrir því að nota vbscript og keyra það svo í gegnum batch líkt og ég gerði hér með %MYDATE% :

date.vbs :

Kóði: Velja allt

' date.vbs - outputs the current date in the format ddmmyyyy
Function Pad(Value, PadCharacter, Length)
    Pad = Right(String(Length,PadCharacter) & Value, Length)
End Function

Dim Today
Today = Date
WScript.Echo  Pad(Day(Today), "0", 2) & "." & Pad(Month(Today), "0", 2) & "." & Pad(Year(Today), "0", 4)


inn í batch:

Kóði: Velja allt

FOR /F %%i IN ('cscript "date.vbs" //Nologo') do SET MYDATE=%%i


Mediainfo CLI er hægt að finna hér

Ekki nauðsynlegt að það sé avi fæll sem verið er að prófa, má þessvegna vera mkv, mp4 eða eitthvað.


    CPU: Intel i9 10850K @ 5.2GHz in Asus ROG Z490-E Strix
    Ram:
    Corsair Vengeance 4x16GB DDR4 3200MHz
    Primary:
    Samsung 970 EVO Plus SSD 1TB - M.2 NVMe
    Secondary:
    Samsung 970 EVO Plus SSD 1TB - M.2 NVMe
    GPU:
    Asus RTX 3070 OC Strix
    PSU:
    Corsair RM750x
    Case:
    Fractal Design Define R6
    Monitor:
    Samsung Odyssey G7 1440p 240hz