У меня проблема с командой FOR L OOP с использованием командного файла ...
Посмотрим, знает ли кто-нибудь, как я могу решить эту проблему, потому что я не могу понять, как ее решить. Мой .bat файл меньше похож на пример ниже ...
ECHO 'Initializing data loading'
FOR %%I In (C:\TempFolder\*.csv) DO (
ECHO '%%~nxI'
mysql.exe -h dbInstance -uUser -pPass dbase --local-infile -e "LOAD DATA LOCAL INFILE '"%%~nxI"' INTO TABLE table1 CHARACTER SET Latin1 COLUMNS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES"
mysql.exe -h dbInstance -uUser -pPass dbase "OPTIMIZE TABLE table1"
)
Мой результат:
C:\DtImport>ECHO 'Initializing data loading'
'Initializing data loading'
as was unexpected at this time.
Если я выполняю только первую mysql команду, она работает нормально .. . Просто, когда я пытаюсь выполнить более одной команды, я получаю эту ошибку.
Это результат, когда я удаляю вторую команду mysql, как это было в примере выше
C:\DtImport>test
'Initializing data loading';
'EXP_1997.csv'
mysql: [Warning] Using a password on the command line interface can be insecure.
'EXP_1998.csv'
mysql: [Warning] Using a password on the command line interface can be insecure.
Кто-нибудь может мне помочь с этим вопросом?
Все файлы .bat ниже
@echo off
ECHO 'Movendo arquivos que serão utilizados para carga...'
ECHO 'Iniciando carga. Aguarde!'
FOR %%I In (C:\DtImport\*.csv) DO (
ECHO '%%~nxI'
mysql.exe -h dinstance -uUser -pPassword dataBase --local-infile -e "LOAD DATA LOCAL INFILE '"%%~nxI"' INTO TABLE temp_table CHARACTER SET Latin1 COLUMNS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES"
mysql.exe -h dinstance -uUser -pPassword dataBase -e "INSERT INTO imp_table (select REPLACE(CONCAT(TRIM(col1),'-',TRIM(col2),'-1'),'\"', ''), REPLACE(TRIM(col3),'\"', ''), REPLACE(TRIM(col4),'\"', ''), REPLACE(TRIM(col5),'\"', ''), REPLACE(TRIM(col6),'\"', ''), REPLACE(TRIM(col7),'\"', ''), REPLACE(TRIM(col8),'\"', ''), REPLACE(TRIM(col9),',','.'), REPLACE(TRIM(col10),',','.'), REPLACE(TRIM(col11),',','.') FROM temp_table)"
mysql.exe -h dinstance -uUser -pPassword dataBase -e "DELETE FROM temp_table"
mysql.exe -h dinstance -uUser -pPassword dataBase -e "OPTIMIZE TABLE temp_table"
)
ECHO 'TERMINADO'
PAUSE