Filtrar um arquivo CSV usando o arquivo em lotes do Windows

1

Eu tenho um arquivo com 12 colunas separadas por ?

Eu preciso exportar o número de coluna 12 (Nome NetBIOS) e anexar a linha inteira a um arquivo CSV. Pule a primeira linha que é a descrição da coluna.

As primeiras quatro linhas do arquivo CSV exportadas de uma consulta SCCM:

Name    SMS Assigned Sites  IP Addresses    IP Subnets  Operating System Name and Version   Resource Domain Or Workgroup    Last Logon User Domain  Last Logon User Name    SMS Unique Identifier   Resource ID Resource Type   Netbios Name    
F101-03123D "SIC"   "172.18.1.101"  "172.18.1.0"    Microsoft Windows NT Workstation 5.1    SI  SI  aalmo06 GUID:00003D0D-A754-47ED-B2EA-D29D1C4A4124   3509    System  A202-E1210A 
F112-02478D "SIC"   "169.254.222.155"; "172.18.2.21"    "169.254.0.0"; "172.18.2.0" Microsoft Windows NT Workstation 5.1    SI  SI  aafebep GUID:A4768DE7-E3CA-42B3-90A4-3502B2F04364   3510    System  A234-A1720000B
B567-03565D "SIC"   "172.21.212.6"  "172.21.212.0"  Microsoft Windows NT Workstation 5.1    SI  SI  aabibru GUID:F81E25B7-0074-457A-9E98-1A611208D28B   5438    System  C856-153AE22    

O arquivo CSV de resultado / saída:

A202-E1210A
A234-A1720000B
C856-153AE22
etc...

Eu tenho algo como:

FOR /F "tokens=12 delims= skip=1 " %%G IN (allsystems.csv) DO @echo %%G

Mas que delimitadores devo usar aqui?

    
por roundup 26.08.2012 / 16:21

2 respostas

0

Se bem entendi, o problema é que o arquivo usa TAB como o delimitador. O prompt de comando do Windows usa TAB para preenchimento automático, o que significa que normalmente não pode ser inserido como um caractere normal. No entanto, você pode desativar esse comportamento com o seguinte comando:

cmd /f:off

Inicie o prompt de comando com isso, em vez de apenas cmd , e agora você pode usar a tecla Tab para inserir o caractere.

Como alternativa, coloque seu script em um arquivo de lote. Qualquer editor de texto permitirá que você insira o caractere TAB e o prompt de comando não terá problemas em interpretá-lo como tal quando você executar o arquivo em lote.

    
por 26.08.2012 / 16:49
0

Chame o CSVfix do seu arquivo de lote, criado exatamente para esse tipo de tarefa.

    
por 30.08.2012 / 12:02