Necesito un pequeño archivo por lotes que me ayude a extraer información del portapapeles y devolver una información parcial al portapapeles. He llegado hasta aquí:
@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
el echo %%a
devuelve esta información:
<A href='eASEE:DCT_MFA2,1488932'>20210421a_AU42_L2_d2h421bt06ux_eisende.PAR; 0 (PAR)</A>
Necesito la 1488932
parte de atrás en el portapapeles. ¿Alguna sugerencia?
Actualización 22.04.
Probé la respuesta postet de It Wasn't me
, pero el resultado es nothing
. Quizás mi pregunta no fue lo suficientemente clara. Actualicé el archivo por lotes a:
@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
El retorno, si lo ejecuto en cmd es:
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>
Ahora solo necesito 1488932
volver al portapapeles para usarlo en otro lugar.
Respuesta1
@echo off
powershell -nOp -c "$(gcb|%%{$_.split('\''>*.,')[2]})|scb"
- Cadenas en mi portapapeles ypotencia Shelltrabajo...
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>
- potencia ShellResultados:
1488932
- Enpotencia Shellcoloque su cadena en el portapapeles:
$(Get-Clipboard|Foreach{$_.split('\''>*.,')[2]})|Set-clipboard