運行命令行腳本時,是否可以獲取當前用戶的名稱?操作系統是Windows XP。如何在Windows環境中找到當前用戶?
回答
應該在%USERNAME%
。顯然這可能很容易被欺騙,所以不要依賴它來保證安全。
有用的提示:在命令提示符下鍵入set
將列出所有環境變量。
你的'淨配置工作站|找到「用戶名」的評論是非常有用的。它應該是一個答案,而不僅僅是一個評論 – Alpay 2015-08-25 07:26:03
用戶名:
echo %USERNAME%
域名:
echo %USERDOMAIN%
您可以通過在命令提示符下運行命令set
獲取環境變量的完整列表。
%USERNAME%會爲您提供當前正在運行的進程的用戶名。根據您運行批處理文件的方式,這不一定與當前用戶的名稱相同。例如,您可能正在通過計劃任務,服務等運行批處理文件。
以下是通過刮取已啓動的用戶的名稱獲取當前登錄用戶的用戶名的更可靠的方法explorer.exe任務:
for /f "TOKENS=1,2,*" %%a in ('tasklist /FI "IMAGENAME eq explorer.exe" /FO LIST /V') do if /i "%%a %%b"=="User Name:" set _currdomain_user=%%c
for /f "TOKENS=1,2 DELIMS=\" %%a in ("%_currdomain_user%") do set _currdomain=%%a & set _curruser=%%b
我使用這種方法寫入批處理文件進行測試。
echo %userdomain%\%username%
,因爲如果需要認證必須包括明文密碼,我只會在完全私人的環境,其他用戶無法查看或彷彿看到密碼的用戶將不承擔任何後果使用它。
希望這可以幫助別人。
在標準上下文中,每個連接的用戶都持有一個explorer.exe進程:命令[tasklist/V | find「explorer」]返回一行包含explorer.exe進程所有者的行,並且可以調整正則表達式獲得所需的價值。這也可以在Windows下完美運行 7.
在極少數情況下,explorer.exe被另一個程序替換,查找過濾器可以適應這種情況。如果該命令返回一個空行,那麼很可能沒有用戶登錄。使用Windows 7也可以運行[查詢會話|查找「>」]。
在命令提示符下就使用這個命令:
C:\> whoami
%USERNAME%
是批量正確的答案和其他在Windows環境。
另一種選擇是使用%USERPROFILE%
來獲取用戶的路徑,如C:\Users\username
。
只要發現BlueBearr響應最好(而我,我運行我的批處理腳本與例如。系統權限)我不得不添加一些東西。 因爲在我的Windows語言版本(波蘭語)行中要被「%% a %% b」==「User Name:」捕獲的行會得到非常複雜的結果(它包含我的語言中的一些變音符號),所以我跳過前7行並在8日開始運作。
@for /f "SKIP= 7 TOKENS=3,4 DELIMS=\ " %%G in ('tasklist /FI "IMAGENAME eq explorer.exe" /FO LIST /V') do @IF %%G==%COMPUTERNAME% set _currdomain_user=%%H
在大多數情況下,%USERNAME%變量將是您想要的。但是,如果您運行的是提升的cmd shell,那麼%USERNAME%將報告管理員名稱而不是您自己的用戶名。如果你想知道後者,請運行:
for /f "tokens=2" %u in ('query session ^| findstr /R "^>"') do @echo %u
- 1. 如何在當前Puppet會話中設置Windows環境路徑?
- 2. 錯誤:在當前環境中找不到參考fst
- 3. Coq錯誤:在當前環境中找不到參考evenb
- 4. 如何找到用戶當前位置?
- 5. 如何格式化用戶語言環境的當前日期?
- 6. 如何在Windows環境中使用Mahout?
- 7. 如何用Python在當前shell中設置環境變量?
- 8. 如何使用Javascript在JSF中設置當前語言環境?
- 9. 如何記錄當前的css環境?
- 10. 在Windows命令環境中更改當前目錄
- 11. 如何找到未引用的環境?
- 12. Python中當前用戶的環境變量
- 13. Grails:改變當前環境
- 14. 如何使用LocaleInfo獲取GWT中的當前語言環境
- 15. 如何在Medium Trust環境中綁定當前的FormsAuthenticationModule?
- 16. Codeception - 如何在Helper類中獲取當前環境配置
- 17. 如何在Access VBA中獲取當前登錄的Windows用戶?
- 18. 如何在Windows中獲取當前用戶?
- 19. 如何在silverlight中獲取Windows的當前用戶名?
- 20. 如何在Windows中獲取當前用戶的主目錄
- 21. 如何在asp.net中查找模型中的當前用戶mvc
- 22. 問題找到當前用戶軌
- 23. (環境)變量爲當前用戶的Jenkins API密鑰?
- 24. Java系統環境變量當前用戶
- 25. 如何檢查用戶當前是否登錄到Windows?
- 26. 如何在Spring中使用@Async方法中的當前語言環境
- 27. 如何在shell命令中查找當前用戶?
- 28. 如何找出當前在Rails 2.3.5中登錄的用戶?
- 29. 如何在Laravel5.2中查找當前用戶的角色?
- 30. 如何從Spring MVC獲取當前使用的語言環境?
相關(來自.NET):* [如何在.NET中使用C#獲取當前用戶名?](http://stackoverflow.com/questions/ 1240373)* – 2016-05-24 12:38:15