Windows toplu iş dosyasını kullanarak bir CSV dosyasını filtreleme


1

Ayrılmış 12 sütunlu bir dosyam var. ?

Sütun numarası 12'yi (NetBIOS Adı) vermem ve tüm satırı bir CSV dosyasına eklemem gerekiyor. Sütun açıklaması olan ilk satırı atla.

CSV dosyasındaki ilk 4 satır bir SCCM Query'den çıkarıldı:

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    

Sonuç / çıktı CSV dosyası:

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

Gibi bir şey var:

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

Ama burada hangi sınırlayıcıları kullanmalıyım?

Yanıtlar:


0

Doğru anladıysam, sorun, dosyanın TABsınırlayıcı olarak kullanılmasıdır. Windows komut istemi TABotomatik tamamlama için kullanılır; normalde normal bir karakter olarak girilemez. Ancak, bu davranışı aşağıdaki komutla kapatabilirsiniz:

cmd /f:off

Komut istemini sadece değil, bununla başlatın cmdve şimdi Tabkarakteri girmek için tuşunu kullanabilirsiniz .

Alternatif olarak, komut dosyanızı bir toplu iş dosyasına yerleştirin. Herhangi bir metin editörü TABkarakteri girmenize izin verecektir ve komut istemini toplu dosyayı çalıştırdığınızda yorumlamada herhangi bir problem yaşanmayacaktır.


Çalıştığı için teşekkürler, işte satır: FOR / F "belirteçleri = 12 atla = 1 delims =" %% G IN (allsystems.csv) DO @echo %% G >> netbios.txt
toparlama

!!! maalesef hala bir sorun var, çıktıdakilerin hepsini (NetBIOS Adı) alamayacak mı ???
toplanma

Bu çizgiler hala TABsınırlayıcı olarak mı kullanılıyor ? NetBIOS adı 12. alanda mı? Belki sorunuzu düzenleyebilir ve bu komutun başarısız olduğu satırları gönderebilirsiniz?
Indrek

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.