Ich brauche eine kleine Batch-Datei, die mir dabei helfen soll, Informationen aus der Zwischenablage zu extrahieren und Teilinformationen in die Zwischenablage zurückzugeben. Ich bin bisher so weit gekommen:
@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
gibt diese echo %%a
Informationen zurück:
<A href='eASEE:DCT_MFA2,1488932'>20210421a_AU42_L2_d2h421bt06ux_eisende.PAR; 0 (PAR)</A>
Ich brauche es 1488932
zurück in die Zwischenablage. Irgendwelche Vorschläge?
Aktualisierung 22.04.
Ich habe die gepostete Antwort von getestet It Wasn't me
, aber das Ergebnis ist nothing
. Vielleicht war meine Frage nicht klar genug. Ich habe die Batchdatei wie folgt aktualisiert:
@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
Wenn ich es in cmd ausführe, lautet die Rückgabe:
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>
Jetzt muss ich es nur noch 1488932
zurück in die Zwischenablage legen, um es woanders verwenden zu können.
Antwort1
@echo off
powershell -nOp -c "$(gcb|%%{$_.split('\''>*.,')[2]})|scb"
- Strings in meiner Zwischenablage undPower ShellArbeit...
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>
- Power ShellErgebnisse:
1488932
- InPower ShellHolen Sie sich Ihren String in die Zwischenablage:
$(Get-Clipboard|Foreach{$_.split('\''>*.,')[2]})|Set-clipboard