我需要一个小型批处理文件,它应该可以帮助我从剪贴板中提取信息并将部分信息返回到剪贴板。我到目前为止已经做到了:
@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"
- 剪贴板中的字符串和电源外壳工作...
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
- 在电源外壳将字符串放入剪贴板中:
$(Get-Clipboard|Foreach{$_.split('\''>*.,')[2]})|Set-clipboard