Кто-нибудь может научить меня правильному пути? вот мой код попытки:

@echo off
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION

"%~dp0..\x64\mediainfo.exe" --Inform=General;%%UniqueID/String%% "%~dp0..\files\SOURCE.avi" | clip 

вот что я получил:

272951594390852679981592891584486079797 (0xCD58909D52AF1297B61A0656EC307D35)

вот что мне нужно:

90852679981592891584486079797 (0xCD58909D52AF1297B61A0656EC30

в основном, чтобы удалить вывод (с коэффициентом 10 позиций слева и 5 справа) и отправить его в буфер обмена. (надеюсь, это ясно и спасибо заранее)

3 ответа3

1

Сначала вам нужно проанализировать выходные данные mediainfo и сохранить их в переменной, прежде чем вы сможете удалить их части.

@echo off
For /f "delims=" %%A in ('
  C:\Temp\X\x64\mediainfo.exe --Inform^=General^;%%UniqueID/String%% "C:\Temp\X\files\SOURCE.avi"
') Do set "var=%%A"
Echo=%var:~10,-5%| clip

вывод должен быть:

90852679981592891584486079797 (0xCD58909D52AF1297B61A0656EC30

РЕДАКТИРОВАТЬ, чтобы уточнить проблему с mediainfo в командной строке:

> mediainfo.exe --Inform=General drop.avi
General
Complete name                            : drop.avi
Format                                   : AVI
Format/Info                              : Audio Video Interleave
File size                                : 660 KiB
Duration                                 : 6 s 67 ms
Overall bit rate                         : 891 kb/s
IsTruncated                              : Yes
...snip...

И чтобы захватить вывод специального свойства:

> for /f "delims=" %A in ('mediainfo.exe --Inform^=General^;%Format/Info%  drop.avi') do @echo=%A
Audio Video Interleave

В пакетном файле все знаки процента должны быть удвоены.

1

value=`http POST localhost:3000/test/login < test/login.json -h |awk ‘/Access-Token/{print $2}`

Это поместит второе значение имени токена доступа в value переменной

Я думаю, awk - лучший способ сделать то, что вы пытаетесь cheers

0

если нет более "непереходного" пути (?)...

@echo off

"%~dp0..\x64\mediainfo.exe" --Inform=General;%%UniqueID/String%% "%~dp0..\files\SOURCE.avi" > s.txt

set /p var=< s.txt

DEL /Q /F s.txt

echo=%var:~10,-5% | clip

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .