标题: 批量将xls文件转成csv再倒入mysql,程序是想好了,但不知道哪里错 [打印本页]
作者: bat251626910 时间: 2012-12-11 23:10 标题: 批量将xls文件转成csv再倒入mysql,程序是想好了,但不知道哪里错
bat程序如下,今天刚学的dos皮毛,不知道哪里错了,请各位大虾指教- @echo off
- set XLS2CSV_HOME=tools
- set DBUSER=root
- set DBPASSWORD=123456
- set DBNAME=wjjs
- set TBNAME=marry_new.csv
- set XLSFILEPATH=xlsNcsv
- set CSVFILEPATH=%cd%\%XLSFILEPATH%\%TBNAME%
- rem 这里是将xls转csv,已经成功生成csv文件
- for /r %XLSFILEPATH% %%i in (*.xls) do @%XLS2CSV_HOME%\xls2csv.exe %%i utf-8
- rem 这里是将生成的csv文件逐个重命名为表名,再用mysqlimport倒入mysql,最后删掉csv,就是这里出错了,但不知道哪里错,囧
- for /r %XLSFILEPATH% %%i in (*.csv) do ( ren %%i %TBNAME% && call mysqlimport.exe -u%DBUSER% -p%DBPASSWORD% --fields-enclosed-by=\" --fields-terminated-by=; --lines-terminated-by=\r\n %DBNAME% %CSVFILEPATH% && del %XLSFILEPATH%\%TBNAME% )
- pause
复制代码
作者: BAT-VBS 时间: 2012-12-12 10:41
把@echo off删掉,执行过程和报错信息全部贴出来。
作者: bat251626910 时间: 2012-12-14 10:54
昨天弄好了,这里贴个完整的cmd- @echo off
- set XLS2CSV_HOME=tools
- set DBUSER=root
- set DBPASSWORD=123456
- set DBNAME=wjjs
- set TBNAME=entirepop_r2.csv
- set XLSFILEPATH=xlsNcsv
- set CSVFILEPATH=%cd%\%XLSFILEPATH%\%TBNAME%
- for /r %XLSFILEPATH% %%i in (*.xls) do %XLS2CSV_HOME%\xls2csv.exe %%i utf-8
- for /r %XLSFILEPATH% %%i in (*.csv) do ( if "%%~zi"=="2" ( del %%i ) else (
- ren %%i %TBNAME%
- echo ready import %CSVFILEPATH%
- start /wait /min mysqlimport.exe -u%DBUSER% -p%DBPASSWORD% --fields-enclosed-by=\" --fields-terminated-by=\; --lines-terminated-by=\r\n --ignore-lines=1 %DBNAME% %CSVFILEPATH%
- echo complete import %%i
- del %XLSFILEPATH%\%TBNAME%
- ))
- pause
复制代码
作者: bat251626910 时间: 2012-12-14 10:56
回复 2# BAT-VBS
压根没有报错信息。。。。。echo on 也是打印执行的语句而已
作者: BAT-VBS 时间: 2012-12-14 11:25
回复 3# bat251626910
恭喜。自己动手丰衣足食
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |