Estoy tratando de crear un archivo por lotes para extraer todas las filas de un CSV donde la columna P es igual a cualquiera de las 3 cadenas siguientes, conservando el encabezado.
Cargos de llamadas sin GST en itinerancia
Cargos por SMS sin GST en itinerancia
Cargos GPRS sin GST en itinerancia
No tengo idea de cómo programar archivos por lotes, pero normalmente puedo, con suficiente búsqueda en Google, encontrar algo que haga algo similar y luego manipularlo para obtener lo que quiero, pero esta vez necesito ayuda. Después de un montón de búsqueda y jugueteo, terminé con lo siguiente (solo tratando de que uno de los criterios funcione) pero solo extrae el encabezado.
@echo off &setlocal
set /p "header="<"report.csv"
>"reportroam.csv" echo.%header%
for /f "usebackq skip=1 delims=, tokens=1-16*" %%a in ("report.csv") do (
if "%%p"=="Roaming GST-Free Call Charges" (
>>"reportroam.csv" echo.%%a,%%b,%%c,%%d,%%e,%%f,,%%g,%%h,%%i,%%j,%%k,%%l,%%m,%%n,%%o,%%p,%%q,%%r,%%s
)
)
A continuación, se muestran algunos ejemplos de lo que intento extraer.
28/01/2017,"9142321123",,"0497321123",,31/12/2016,"11:11:00","0000000000","FRANCE",,"00:00:00",0.000,"N",0.0000,"U-SMS","Roaming GST-Free SMS Charges",,,"No Hierarchy",,,,,,,,,,
28/01/2017,"9142321123",,"0497321123",,31/12/2016,"11:22:00","61452321123","FRANCE",,"00:01:00",0.000,"N",0.0000,"U-ROA","Roaming GST-Free Call Charges",,,"No Hierarchy",,,,,,,,,,
Si no es probable que haya otra columna que contenga las cadenas requeridas, entonces ¿por qué no usar FindStr
.
FindStr /I /C:"Roaming GST-Free Call Charges" /C:"Roaming GST-Free SMS Charges" /C:"Roaming GST-Free GPRS Charges" "report.csv">>"reportroam.csv"
Incluso puede dividir la fila larga para que se vea mejor:
FindStr /I^
/C:"Roaming GST-Free Call Charges"^
/C:"Roaming GST-Free SMS Charges"^
/C:"Roaming GST-Free GPRS Charges"^
"report.csv">>"reportroam.csv"
Editar
Como un pensamiento posterior, si tiene una cadena única conocida en su encabezado, puede hacerlo todo de una vez:
@(FindStr /I^
/C:"Unique Column Header String"^
/C:"Roaming GST-Free Call Charges"^
/C:"Roaming GST-Free SMS Charges"^
/C:"Roaming GST-Free GPRS Charges"^
"report.csv")>"reportroam.csv"
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras