Вы можете заменить первое место в каждой строке файла CSV точкой с запятой, используя небольшой командный файл, чтобы иметь дату и время в качестве отдельных значений полей, если это необходимо для базы данных перед импортом файла CSV.
@echo off
setlocal
rem Define CSV file to process which can be also passed as argument
rem and the temporary file needed while processing the CSV file.
if "%~1" == "" (
set "CSV_File=C:\Temp\Test.csv"
set "TempFile=%TEMP%\Test.tmp"
) else (
set "CSV_File=%~1"
set "TempFile=%TEMP%\%~n1.tmp"
)
rem Check existence of CSV file to process and if really existing,
rem write each line of CSV file to temporary file with replacing
rem the first space by a semicolon. After having processed each
rem line move the temporary file over the CSV file.
if exist "%CSV_File%" (
if exist "%TempFile%" del "%TempFile%"
for /F "usebackq eol=# tokens=1* delims= " %%A in ("%CSV_File%") do echo %%A;%%B>>"%TempFile%"
move /Y "%TempFile%" "%CSV_File%"
)
endlocal
Для понимания используемых команд и как они работают, откройте окно командной строки, выполните там следующие команды, и читать полностью все справочные страницы отображаются для каждой команды очень тщательно.
call /?
... для объяснения %~1
и %~n1
.
del /?
echo /?
endlocal /?
for /?
if /?
move /?
rem /?
set /?
setlocal /?
И статья Microsoft о Using command redirection operators может быть также интересно понять переназначение оператора >>
, используемый в этом небольшом коде партии.
заменить пробелы точкой с запятой? – Arashsoft
Как вы загружаете CSV? – Spidey