[英]Batch to skip delimiter only to a certain moment
我正在嘗試使用命令行通過注冊表獲取我當前的用戶名。 但是我的用戶名在一個空格之間有兩個詞。 例如:“貓狗”。 好吧,如果我使用空格作為分隔符,它只會打印“Cat”,如果我輸入tokens=3
,它也會打印同樣的結果,因為這兩個詞之間有一個空格。
我這樣做是為了在許多計算機上使用,所以我無法確定每台計算機的確切用戶名。 無論它有多少空格,我如何從標記號3
的第一個單詞到結尾分隔?
@echo off
for /f "tokens=3" %%a in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\SessionData\1 /v LoggedOnUser') do (
set "user=%%a")
set "user=%user:.\=%"
echo %user%
pause
您有什么理由不能使用 whoami 命令嗎? 例如:
for /f "tokens=*" %%g in ('whoami') do set "user=%%g"
Windows 環境中有一個系統變量%username%
echo %username%
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.