Я сделал этот скрипт ниже, чтобы организовать мой .csv
файл.
Мой оригинальный файл 1.csv
такой:
Central de Relacionamento;4002 5472 (todas as localidades);0800 570 8472 (exceto capitais)
Ouvidoria;0800 570 2288 (todas as localidades);Atendimento de segunda a sexta, das 8 às 18h. Exceto Feriados Nacionais.
Estabelecimento;Previsão de pagamento;Bandeira;Forma de pagamento;Quantidade de transações;Valor bruto;Valor líquido;
1050596258;02/05/2019;Elo;Crédito parcelado loja;1;R$ 37,05;R$ 35,90;
1050596258;02/05/2019;Elo;Débito à vista;1;R$ 15,90;R$ 15,67;
1050596258;06/05/2019;Elo;Crédito parcelado loja;1;R$ 19,98;R$ 19,36;
1050596258;06/05/2019;Elo;Débito à vista;3;R$ 277,40;R$ 273,37;
1050596258;06/05/2019;Visa;Crédito parcelado loja;1;R$ 27,46;R$ 25,95;
1050596258;08/05/2019;Elo;Débito à vista;1;R$ 69,90;R$ 68,89;
1050596258;13/05/2019;Elo;Débito à vista;5;R$ 608,60;R$ 599,78;
1050596258;17/05/2019;Elo;Crédito parcelado loja;1;R$ 16,63;R$ 16,11;
1050596258;20/05/2019;Elo;Crédito parcelado loja;1;R$ 27,95;R$ 27,08;
1050596258;21/05/2019;Elo;Crédito à vista;1;R$ 95,10;R$ 93,10;
1050596258;27/05/2019;Elo;Crédito à vista;1;R$ 55,70;R$ 54,53;
1050596258;29/05/2019;Elo;Crédito parcelado loja;1;R$ 24,40;R$ 23,64;
1050596258;10/06/2019;Elo;Crédito parcelado loja;1;R$ 30,88;R$ 30,00;
1050596258;13/06/2019;Elo;Crédito à vista;1;R$ 39,60;R$ 38,77;
1050596258;28/06/2019;Elo;Crédito parcelado loja;0;R$ 24,40;R$ 23,64;
1050596258;09/07/2019;Elo;Crédito parcelado loja;0;R$ 30,86;R$ 29,98;
1050596258;29/07/2019;Elo;Crédito parcelado loja;0;R$ 24,40;R$ 23,64;
1050596258;08/08/2019;Elo;Crédito parcelado loja;0;R$ 30,86;R$ 29,98;
И я хочу изменить его на это:
Previsão de pagamento Bandeira Valor líquido
02/05/2019 Elo R$ 35,90
02/05/2019 Elo R$ 15,67
06/05/2019 Elo R$ 19,36
06/05/2019 Elo R$ 273,37
06/05/2019 Vis R$ 25,95
08/05/2019 Elo R$ 68,89
13/05/2019 Elo R$ 599,78
17/05/2019 Elo R$ 16,11
20/05/2019 Elo R$ 27,08
21/05/2019 Elo R$ 93,10
27/05/2019 Elo R$ 54,53
29/05/2019 Elo R$ 23,64
10/06/2019 Elo R$ 30,00
13/06/2019 Elo R$ 38,77
28/06/2019 Elo R$ 23,64
09/07/2019 Elo R$ 29,98
29/07/2019 Elo R$ 23,64
08/08/2019 Elo R$ 29,98
Итак, я сделал этот скрипт ниже, но в результате получилось:
Previsão de pagamento~Bandeira~Valor líquido
02/05/2019~Elo~R$ 35,90
02/05/2019~Elo~R$ 15,67
06/05/2019~Elo~R$ 19,36
06/05/2019~Elo~R$ 273,37
06/05/2019~Visa~R$ 25,95
08/05/2019~Elo~R$ 68,89
13/05/2019~Elo~R$ 599,78
17/05/2019~Elo~R$ 16,11
20/05/2019~Elo~R$ 27,08
21/05/2019~Elo~R$ 93,10
27/05/2019~Elo~R$ 54,53
29/05/2019~Elo~R$ 23,64
10/06/2019~Elo~R$ 30,00
13/06/2019~Elo~R$ 38,77
28/06/2019~Elo~R$ 23,64
09/07/2019~Elo~R$ 29,98
29/07/2019~Elo~R$ 23,64
08/08/2019~Elo~R$ 29,98
Следуйте моему коду:
for /f "skip=1 tokens=2 delims=" %%a in ("3.txt") do (
sort /+27 < "3.txt" > "4.txt"
)
Я думаю, & for /f
впоследняя строка кода не верна.Кто-нибудь может мне помочь?
Спасибо
Редактировать 1:
Спасибо, ребята!Ваша помощь была очень полезна.
Я изменил свой сценарий ниже.Теперь я хотел отсортировать его по столбцу Bandeira
, но не могу пропустить первую строку Previsão de pagamento Bandeira Valor líquido
.
@echo off
setlocal EnableDelayedExpansion
(for /f "skip=2 tokens=2,3,7 delims=;" %%a in (1.csv) do @echo %%a~ %%b~ %%c~)>2.csv
SET "spaces= "
(for /f "tokens=1,2,3 usebackq delims=~" %%i in ("2.csv") DO CALL :FORMAT "%%i" 25 "%%j" 14 "%%k") > 3.txt
del /f /s /q 2.csv >nul
GOTO :sorting
:FORMAT
SET "line="
SET /a length=0
:formlp
IF "%2"=="" ECHO %line%%~1&GOTO :EOF
SET /a length+=%2
SET "line=%line%%~1%spaces%"
CALL SET "line=%%line:~0,%length%%%"
shift&shift&GOTO formlp
:sorting
for /f "skip=1 tokens=2 delims=" %%a in ("3.txt") do (
sort /+27 < "3.txt" > "4.txt"
)
pause