我對批處理腳本非常陌生,必須使用控制檯來詢問Registry以獲取網絡配置文件描述,並只將描述數據輸出到txt文件。 我正在使用for/f循環來執行此操作。 我首先註冊查詢整個密鑰,以便列出網絡配置文件的每個子密鑰並將其存儲在文本文檔中。然後我/ f這個文本文件只使用標記提取出這個子鍵的名字,將它存儲爲一個變量。 然後,我使用該變量來註冊查詢描述名稱的各個關鍵字,並將其輸出到另一個僅顯示網絡配置文件描述的文本文件。以下是我的批處理腳本。提取網絡配置文件並僅顯示txt文件中的網絡配置文件描述
Echo Required to skip line for processing >>%~dp0\1SSID.txt
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles" /s /v Description >>%~dp0\1SSID.txt
setlocal enableDelayedExpansion
rem get each key from 1SSID.txt
for /f "usebackq skip=1 tokens=1,2" %%i in ("%~dp0\1SSID.txt") do (
echo %%i %%j>>%~dp0\2Processingstage.txt
rem skip the first line and grab tokens 3 from the second line to show description and desription name
for /f "usebackq skip=1 tokens=3" %%k in (`reg query "%%I %%j" /v Description`) do set "Description=%%l
echo Network Description - %%l >>%~dp0\3SSIDoutput.txt
)
)
先覺得我注意到的是跳過= 1不工作,並期待在每行。 由於這不起作用,它不會提取正確的數據以放入reg查詢。我試過了不同的標記,沒有跳過,跳過了,但是有了分隔符(它沒有識別)。我一直在這個工作幾個小時,只是不能讓它工作。這可能很簡單,但我找不到解決辦法。
'skip = 1'當然不適用於每一行,它定義爲跳過文本的* first *行;它'做**沒有**定義跳過第一個標記... – aschipfl
不知道你想要輸出什麼,這似乎是一個漫長的取得一些註冊表數據的方式。如果您發佈了一個註冊查詢輸出示例,也許有一些配置文件解釋您需要什麼。 – Compo
看看這個,並告訴我,如果它可以幫助你或沒有,==> http://stackoverflow.com/questions/36715753/is-it-possible-to-change-the-wifi-hosted-network-settings - 使用-CMD-BAT-VBS – Hackoo