批處理新手入門導讀[視頻教程]批處理基礎視頻教程[視頻教程]VBS基礎視頻教程
[批處理文件精品]批處理版照片整理器[批處理文件精品]純批處理備份&還原驅動在線第三方下載
返回列表 發帖

[文本處理] [已解決]批處理怎樣把系統信息橫排輸出

本帖最后由 testest 于 2020-4-8 10:57 編輯
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "tokens=2 delims==" %%a in ('wmic csproduct get Vendor /value ^| findstr /i "Vendor"') do echo 制造商:%%~a >>d:\mac.csv
  3. for /f "tokens=2 delims==" %%a in ('wmic csproduct get Name /value ^| findstr /i "Name"') do echo 電腦型號:%%~a >>d:\mac.csv
  4. for /f "tokens=2 delims==" %%a in ('wmic os get caption /value ^| findstr /i "caption"') do echo 操作系統:%%~a >>d:\mac.csv
復制代碼
寫了一個讀取系統信息的程序,生成mac.csv,可是生成的結果是豎排的,可否橫排,各位老大幫忙,謝謝~
如下:
制造商  電腦型號 操作系統
...         ...         ...
各占一列

回復 1# testest
  1. @echo off & setlocal enabledelayedexpansion
  2. echo 制造商 電腦型號 操作系統>mac.csv
  3. for /f "tokens=2 delims==" %%a in ('wmic csproduct get Vendor /value ^| findstr /i "Vendor"') do set "value=%%~a"
  4. for /f "tokens=2 delims==" %%a in ('wmic csproduct get Name /value ^| findstr /i "Name"') do set "value=%value% %%~a"
  5. for /f "tokens=2 delims==" %%a in ('wmic os get caption /value ^| findstr /i "caption"') do set "value=%value% %%~a"
  6. echo %value%>>mac.csv
  7. pause
復制代碼
不知道為什么,我好像沒法把他寫到D:\mac.csv,只能用相對路徑了。。。
請自行解決

TOP

回復 2# wujunkai
不好意思,我沒說清楚,可否在生成的excel表格中按ABC排列呢?
             A            B               C
1      制造商    電腦型號     操作系統

TOP

回復 3# testest
  1. @echo off & setlocal enabledelayedexpansion
  2. echo 制造商,電腦型號,操作系統>mac.csv
  3. for /f "tokens=2 delims==" %%a in ('wmic csproduct get Vendor /value ^| findstr /i "Vendor"') do set "value=%%~a"
  4. for /f "tokens=2 delims==" %%a in ('wmic csproduct get Name /value ^| findstr /i "Name"') do set "value=%value%,%%~a"
  5. for /f "tokens=2 delims==" %%a in ('wmic os get caption /value ^| findstr /i "caption"') do set "value=%value%,%%~a"
  6. echo %value%>>mac.csv
  7. pause
復制代碼

TOP

回復 4# wujunkai
  1. for /f "tokens=1,3 delims=," %%i in ('getmac /v /nh /fo:csv ^| findstr
  2. "..-..-..-..-..-.."') do (
  3.     echo %%i %%j
  4. )
復制代碼
再加個物理地址呢:lol

TOP

本帖最后由 wujunkai 于 2020-3-31 08:00 編輯

回復 5# testest


    我這里有三個,不怎么知道做
  1. "無線網絡連接" "balabalabala"
  2. "本地連接" "balabalabala"
  3. "Bluetooth 網絡連接" "balabalabala"
復制代碼
給出一個近似的解決方案。
  1. @echo off & setlocal enabledelayedexpansion
  2. set "type=制造商,電腦型號,操作系統"
  3. for /f "tokens=2 delims==" %%a in ('wmic csproduct get Vendor /value ^| findstr /i "Vendor"') do set "value=%%~a"
  4. for /f "tokens=2 delims==" %%a in ('wmic csproduct get Name /value ^| findstr /i "Name"') do set "value=%value%,%%~a"
  5. for /f "tokens=2 delims==" %%a in ('wmic os get caption /value ^| findstr /i "caption"') do set "value=%value%,%%~a"
  6. for /f "tokens=1,3 delims=," %%i in ('getmac /v /nh /fo:csv ^| findstr "..-..-..-..-..-.."') do (
  7.     set type=!type!,%%i
  8.     set value=!value!,%%j
  9. )
  10. echo %type%>mac.csv
  11. echo %value%>>mac.csv
  12. pause
復制代碼

接下來,請仔細閱讀代碼,自行修改。(別告訴我你不會csv格式)

TOP

本帖最后由 testest 于 2020-3-31 18:19 編輯
回復  testest


    我這里有三個,不怎么知道做給出一個近似的解決方案。接下來,請仔細閱讀代碼,自 ...
wujunkai 發表于 2020-3-30 20:45



    太帥了,可否把
"無線網絡連接" "balabalabala"
"本地連接" "balabalabala"
"Bluetooth 網絡連接" "balabalabala"
放在一個表格里
如:            A            B               C
1             制造商     電腦型號        MAC
                                               "無線網絡連接" "balabalabala"
                                               "本地連接" "balabalabala"
                                               "Bluetooth 網絡連接" "balabalabala"
2             ....          ....              ...

TOP

回復 7# testest


  我在這里說一下代碼的原理吧。
  首先,設置type和value兩個變量,tpye儲存A行的數據,value儲存B行的數據。
      然后,在程序的主要部分慢慢地將數據加入type和value。
  最后,輸出type和value的值。
  所以,接下來的需求請自行解決。

TOP

回復 8# wujunkai

好的,謝謝你:lol

TOP

本帖最后由 testest 于 2020-4-1 22:53 編輯

回復 8# wujunkai
  1. @echo off & setlocal enabledelayedexpansion
  2. if  1  lss  2   (
  3. set "type=制造商,電腦型號,操作系統"
  4. for /f "tokens=2 delims==" %%a in ('wmic csproduct get Vendor /value ^| findstr /i "Vendor"') do set "value=%%~a"
  5. for /f "tokens=2 delims==" %%a in ('wmic csproduct get Name /value ^| findstr /i "Name"') do set "value=%value%,%%~a"
  6. for /f "tokens=2 delims==" %%a in ('wmic os get caption /value ^| findstr /i "caption"') do set "value=%value%,%%~a"
  7. for /f "tokens=1,3 delims=," %%i in ('getmac /v /nh /fo:csv ^| findstr "..-..-..-..-..-.."') do (
  8.     set type=!type!,%%i
  9.     set value=!value!,%%j
  10. )
  11. echo %type%>mac.csv
  12. echo %value%>>mac.csv
  13. ) else (
  14. echo ok
  15. )
  16. pause
復制代碼
在問問,如果加了判斷語句,為啥得到的文檔里頭只顯示
ECHO 處于關閉狀態。
ECHO 處于關閉狀態。

TOP

回復 10# testest


    這個是延時變量的問題,把里面所有的%balabala%改成!balabala!就可以了

TOP

返回列表
36选7开奖结果今天福建