2017-05-19 40 views
0

wmic nic where "name like '%%802%%'" get name,macaddress 명령을 사용하여 Wi-Fi 어댑터 MAC 주소를 텍스트 파일로 출력하는 배치 파일이 있으며 문자 사이에 공백이 있습니다. 배치 파일에서 sfc /scannow에 대해서도 같은 결과가 나옵니다.출력 문자 사이의 공백 제거 배치 파일

wmic 명령의 출력은 다음과 같습니다

Hostname: SOME-COMPUTER 
    A C A d d r e s s     N a m e 
3 4 : F 6 : B 3 : J 3 : 6 3 : 1 3  B r o a d c o m 8 0 2 . 1 1 n N e t w o r k A d a p t e r 

sfc 스캔 출력의 조각이다 : 나는 cmd.exe를에서이 명령을 실행하면

n 3 0 % c o m p l e t e . V e r i f i c a t i o n 3 1 % c o m p l e t e . V e r i f i c a t i o n 3 1 % c o m p l e t e . V e r i f i c a t i o n 3 2 % c o m p l e t e . V e r i f i c a t i o n 3 2 % c o m p l e t e . V e r i f i c a t i o n 3 3 % c o m p l e t e . V e r i f i c a t i o n 3 3 % c o m p l e t e . V e r i f i c a t i o n 3 4 % c o m p l e t e . V e r i f i c a t i o n 3 4 % c o m p l e t e . V e r i f i c a t i o n 3 5 % c o m p l e t e . V e r i f i c a t i o n 3 5 % c o m p l e t e . V e r i f i c a t i o n 3 5 % c o m p l e t e . V e r i f i c a t i o n 3 6 % c o m p l e t e . V e r i f i c a t i o n 3 6 % c o m p l e t e . V e r i f i c a t i o n 3 7 % c o m p l e t e . V e r i f i c a t i o n 3 7 % c o m p l e t e . V e r i f i c a t i o n 3 8 % c o m p l e t e . V e r i f i c a t i o n 3 8 % c o m p l e t e . V e r i f i c a t i o n 3 9 % c o m p l e t e . V e r i f i c a t i o n 3 9 % c o m p l e t e . V e r i f i c a t i o n 4 0 % c o m p l e t e . V e r i f i c a t i o n 4 0 % c o m p l e t e . V e r i f i c a t i o n 4 1 % c o m p l e t e . V e r i f i c a t i o n 4 1 % c o m p l e t e . V e r i f i c a t i o n 4 2 % c o m p l e t e . V e r i f i c a t i o n 4 2 % c o m p l e t e . V e r i f i c a t i o n 4 2 % c o m p l e t e . V e r i f i c a t i o n 4 3 % c o m p l e t e . V e r i f i c a t i o n 4 3 % c o m p l e t e . V e r i f i c a t i o n 4 4 % c o m p l e t e . V e r i f i c a t i o n 4 4 % c o m p l e t e . V e r i f i c a t i o n 4 5 % c o m p l e t e . V e r i f i c a t i o n 4 5 % c o m p l e t e . V e r i f i c a t i o n 4 6 % c o m p l e t e . V e r i f i c a t i o n 4 6 % c o m p l e t e . V e r i f i c a t i o n 4 7 % c o m p l e t e . V e r i f i c a t i o n 4 7 % c o m p l e t e . V e r i f i c a t i o n 4 8 % c o m p l e t e . V e r i f i c a t i o n 4 8 % c o m p l e t e . V e r i f i c a t i o n 4 9 % c o m p l e t e . V e r i f i c a t i o n 4 9 % c o m p l e t e . V e r i f i c a t i o n 5 0 % c o m p l e t e . V e r i f i c a t i o n 5 0 % c o m p l e t e . V e r i f i c a t i o n 5 0 % c o m p l e t e . V e r i f i c a t i o n 5 1 % c o m p l e t e . V e r i f i c a t i o n 5 1 % c o m p l e t e . V e r i f i c a t i o n 5 2 % c o m p l e t e . V e r i f i c a t i o n 5 2 % c o m p l e t e . V e r i f i c a t i o n 5 3 % c o m p l e t e . V e r i f i c a t i o n 5 3 % c o m p l e t e . V e r i f i c a t i o n 5 4 % c o m p l e t e . V e r i f i c a t i o n 5 4 % c o m p l e t e . V e r i f i c a t i o n 5 5 % c o m p l e t e . V e r i f i c a t i o n 5 5 % c o m p l e t e . V e r i f i c a t i o n 5 6 % c o m p l e t e . V e r i f i c a t i o n 5 6 % c o m p l e t e . V e r i f i c a t i o n 5 7 % c o m p l e t e . V e r i f i c a t i o n 5 7 % c o m p l e t e . V e r i f i c a t i o n 5 7 % c o m p l e t e . V e r i f i c a t i o n 5 8 % c o m p l e t e . V e r i f i c a t i o n 5 8 % c o m p l e t e . V e r i f i c a t i o n 5 9 % c o m p l e t e . V e r i f i c a t i o n 5 9 % c o m p l e t e . V e r i f i c a t i o n 6 0 % c o m p l e t e . V e r i f i c a t i o n 6 0 % c o m p l e t e . V e r i f i c a t i o n 6 1 % c o m p l e t e . V e r i f i c a t i o n 6 1 % c o m p l e t e . V e r i f i c a t i o n 6 2 % c o m p l e t e . V e r i f i c a t i o n 6 2 % c o m p l e t e . V e r i f i c a t i o n 6 3 % c o m p l e t e . V e r i f i c a t i o n 6 3 % c o m p l e t e . V e r i f i c a t i o n 6 4 % c o m p l e t e . V e r i f i c a t i o n 6 4 % c o m p l e t e . V e r i f i c a t i o n 6 4 % c o m p l e t e . V e r i f i c a t i o n 6 5 % c o m p l e t e . V e r i f i c a t i o n 6 5 % c o m p l e t e . V e r i f i c a t i o n 6 6 % c o m p l e t e . V e r i f i c a t i o n 6 6 % c o m p l e t e . V e r i f i c a t i o n 6 7 % c o m p l e t e . V e r i f i c a t i o n 6 7 % c o m p l e t e . V e r i f i c a t i o n 6 8 % c o m p l e t e . V e r i f i c a t i o n 6 8 % c o m p l e t e . V e r i f i c a t i o n 6 9 % c o m p l e t e . V e r i f i c a t i o n 6 9 % c o m p l e t e . V e r i f i c a t i o n 7 0 % c o m p l e t e . V e r i f i c a t i o n 7 0 % c o m p l e t e . V e r i f i c a t i o n 7 1 % c o m p l e t e . V e r i f i c a t i o n 7 1 % c o m p l e t e . V e r i f i c a t i o n 7 1 % c o m p l e t e .  V e r i f i c a t i o n  7 2 % 

는, 출력은 같다 this :

MACAddress   Name 
34:F2:B3:A1:83:33 Broadcom 802.11n Network Adapter 

나는 PowerShell을 정상적으로 사용하지만, 그렇지 않습니다. 내가 여기서 필요한 것. 나는 결과를 출력 파일에서 이와 같이 보길 원한다.

출력이 동일하므로 setlocal enabledelayedexpansionendlocal을 사용하면 출력이 신경 쓰이지 않는 것 같습니다.

도움 주셔서 감사합니다.

편집 나는 빈 유니 코드 파일을 (나는 윈도우 10가) 만들어, 내가 출력 파일에 사용되는 새 파일로 복사됩니다. 이제 공간이 사라,하지만 어떤 이유에서, 호스트 이름에 대해 생성 된 변수가 한자로 보이는 출력 : 다음과 같이

潈瑳慮敭›䕄䭓佔ⵐ䩒䵔剄⁓਍MACAddress   Name        
34:F2:B3:A1:83:33 Broadcom 802.11n Network Adapter 

hostname 명령이 사용되었습니다

for /f "delims= tokens=*" %%i in ('hostname') do (
    set "nameHost=%%i" 
) 

을 그리고, tokens=*tokens=2으로 변경했으며 모든 문자가 중국어로 변경되었습니다. 어쨌든 해결 방법은이 문제를 해결하는 파일 이름에 호스트 이름을 추가하는 것이 었습니다. 그러나 ANSI와 유니 코드 문자열을 같은 파일에 공백없이 두는 법을 배우는 것이 이상적입니다.

저는 이것에 대한 C++ 기사를 보았습니다. 대답은 코드를 변경하는 것이 었습니다. 따라서 사실이라면 sfc 또는 wmic에 대한 코드가 없으므로 거기에 존재합니까? 아니면 각 파일 사이에 공백없이 같은 파일에 ANSI와 유니 코드 문자열을 둘 수있는 방법이 있습니까?

+0

'WMIC'에서 유니 코드, _ (UTF-16 LE, BOM) _ 출력을 ANSI로 이미 작성한 파일에 추가하는 것이 문제 일 수 있습니다. 따라서 유니 코드를 먼저 출력하도록 순서를 변경하는 간단한 경우 일 수 있습니다. – Compo

답변

1
wmic nic where "name like '%%802%%'" get name,macaddress|more 

은 ANSI 버전을 제공해야합니다. 문제는 유니 코드 출력이 WMIC 인 것입니다.