Мне нужен небольшой пакетный файл, который должен помочь мне извлечь информацию из буфера обмена и вернуть частичную информацию в буфер обмена. Я продвинулся до сих пор:
@setlocal enableextensions enabledelayedexpansion
@echo off
set /a count = 0
for /f "delims=" %%a in ('powershell -command "Get-Clipboard -TextFormatType Html"') do (
set /a count += 1
if !count!==8 (
echo %%a
)
)
endlocal
возвращает echo %%a
следующую информацию:
<A href='eASEE:DCT_MFA2,1488932'>20210421a_AU42_L2_d2h421bt06ux_eisende.PAR; 0 (PAR)</A>
Мне нужно 1488932
вернуть в буфер обмена. Есть предложения?
Обновление 22.04.
Я проверил ответ postet от It Wasn't me
, но результат nothing
. Возможно, мой вопрос был недостаточно ясен. Я обновил пакетный файл на:
@setlocal enableextensions enabledelayedexpansion
@echo off
set /a count = 0
for /f "delims=" %%a in ('powershell -command "Get-Clipboard -TextFormatTypeHtml"') do (
set /a count += 1
echo %%a
)
endlocal
Если я запущу его в cmd, то выведу:
C:\Users\*******\Desktop>test.bat
Version:0.9
StartHTML:00000097
EndHTML:00000260
StartFragment:00000111
EndFragment:00000224
<html><body>
<--StartFragment -->
<A href='eASEE:DCT_MFA2,1488932'>20210421a_AU42_L2_d2h421bt06ux_eisende.PAR; 0 (PAR)</A>
<--EndFragment-->
</body>
</html>
Теперь мне просто нужно 1488932
вернуть его в буфер обмена, чтобы использовать в другом месте.
решение1
@echo off
powershell -nOp -c "$(gcb|%%{$_.split('\''>*.,')[2]})|scb"
- Строки в моем буфере обмена иpowershellработа...
Version:0.9
StartHTML:00000097
EndHTML:00000260
StartFragment:00000111
EndFragment:00000224
<html><body>
<--StartFragment -->
<A href='eASEE:DCT_MFA2,1488932'>20210421a_AU42_L2_d2h421bt06ux_eisende.PAR; 0 (PAR)</A>
<--EndFragment-->
</body>
</html>
- powershellПолученные результаты:
1488932
- Вpowershellполучить вашу строку в буфер обмена:
$(Get-Clipboard|Foreach{$_.split('\''>*.,')[2]})|Set-clipboard