กรองไฟล์ CSV โดยใช้ไฟล์แบตช์ Windows


1

ฉันมีไฟล์ที่มี 12 คอลัมน์คั่นด้วย ?

ฉันต้องการส่งออกคอลัมน์หมายเลข 12 (ชื่อ NetBIOS) และต่อท้ายทั้งแถวไปยังไฟล์ CSV ข้ามบรรทัดแรกนั่นคือคำอธิบายคอลัมน์

4 บรรทัดแรกที่ไฟล์ CSV หมดอายุจากแบบสอบถาม 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    

ไฟล์ CSV ผลลัพธ์ / ผลลัพธ์:

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

ฉันมีสิ่งที่ชอบ:

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

แต่ฉันควรใช้ตัวคั่นอะไร

คำตอบ:


0

หากฉันเข้าใจอย่างถูกต้องปัญหาคือไฟล์นั้นใช้TABเป็นตัวคั่น พรอมต์คำสั่ง Windows ใช้TABสำหรับการเติมข้อความอัตโนมัติซึ่งหมายความว่าจะไม่สามารถป้อนเป็นอักขระปกติได้ตามปกติ อย่างไรก็ตามคุณสามารถปิดการทำงานนั้นได้ด้วยคำสั่งต่อไปนี้:

cmd /f:off

เริ่มพร้อมท์คำสั่งด้วยสิ่งนั้นไม่ใช่แค่เพียงแค่cmdตอนนี้คุณสามารถใช้Tabปุ่มเพื่อป้อนอักขระ

หรือวางสคริปต์ของคุณลงในไฟล์แบตช์ ตัวแก้ไขข้อความใด ๆ จะอนุญาตให้คุณป้อนTABอักขระและพรอมต์คำสั่งจะไม่มีปัญหาในการตีความเช่นเมื่อคุณเรียกใช้ไฟล์แบตช์


ขอบคุณที่ใช้งานได้นี่คือบรรทัด: FOR / F "tokens = 12 skip = 1 delims =" %% G IN (allsystems.csv) DO @echo %% G >> netbios.txt
roundup

!!! น่าเสียดายที่ยังมีปัญหาอยู่ก็จะไม่ได้รับทั้งหมด (ชื่อ NetBIOS) ในผลลัพธ์ ???
roundup

บรรทัดเหล่านั้นยังคงใช้TABเป็นตัวคั่นหรือไม่? ชื่อ NetBIOS ในฟิลด์ที่ 12 หรือไม่ บางทีคุณสามารถแก้ไขคำถามของคุณและโพสต์บรรทัดเหล่านั้นที่คำสั่งนั้นล้มเหลว?
Indrek

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.