标题: [系统相关] [已解決]获取系统账号信息的批处理怎样改写成不需要临时文件? [打印本页]
作者: pdanniel66 时间: 2013-11-27 04:30 标题: [已解決]获取系统账号信息的批处理怎样改写成不需要临时文件?
本帖最后由 pdanniel66 于 2013-11-30 20:28 编辑
- @echo off
- @For /f "tokens=1-3 delims=/ " %%a in ('date /t') do (set date=%%a%%b%%c)
- REM Collect Domain name and username
- for /f "delims=*" %%a in ('set user^|find /i /v "dns"^|find /i /v "profile"') do echo %%a >> 1.txt
- for /f "tokens=1-2 delims==" %%i in (1.txt) do echo %%j >> 2.txt
- REM Collect hostname
- hostname >> 2.txt
- REM Add comma
- for /f "tokens=1,2" %%i in (2.txt) do (echo %%i,>> 3.txt)
- REM Covert to single Line
- (for /f "delims=" %%a in (3.txt) do @set /p=%%a<nul)> %date%.csv
- exit
复制代码
期待結果 ==> userdomain,username,hostname
如:HR,JOHN,NB001
或是可以簡化代碼 ?
謝謝!
作者: 522235677 时间: 2013-11-27 09:38
看不懂啊哦啊哦
作者: DAIC 时间: 2013-11-27 09:58
- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=1-3 delims=/ " %%a in ('date /t') do (
- set "thisDate=%%a%%b%%c"
- )
- REM Collect hostname
- for /f "delims=" %%a in ('hostname') do (
- set "thisHost=%%a"
- )
- REM Collect Domain name and username
- (for /f "tokens=1* delims==" %%a in ('set user ^| findstr "USERDOMAIN USERNAME"') do (
- if "%%a" equ "USERDOMAIN" (
- set "thisDomain=%%b"
- set /a n+=1
- ) else if "%%a" equ "USERNAME" (
- set "thisUser=%%b"
- set /a n+=1
- )
- if !n! equ 2 (
- echo !thisDomain!,!thisUser!,!thisHost!
- set n=0
- )
- ))>%thisdate%.csv
复制代码
作者: laolong 时间: 2013-11-28 13:38
- echo %USERDOMAIN%,%USERNAME%,%COMPUTERNAME%
- pause
复制代码
作者: gobi918 时间: 2013-11-28 15:48
laolong 发表于 2013-11-28 13:38
简单的东西被楼主复杂化了。。。
作者: pdanniel66 时间: 2013-11-30 20:27
謝謝4樓的回覆,問題解決了 !
作者: liu888mi 时间: 2013-12-2 16:46
看不懂啊哦啊哦 简单的东西被楼主复杂化了。。。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |