[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

批量将xls文件转成csv再倒入mysql,程序是想好了,但不知道哪里错

bat程序如下,今天刚学的dos皮毛,不知道哪里错了,请各位大虾指教
  1.   @echo off
  2.    set XLS2CSV_HOME=tools
  3.    set DBUSER=root
  4.    set DBPASSWORD=123456
  5.    set DBNAME=wjjs
  6.    set TBNAME=marry_new.csv
  7.    set XLSFILEPATH=xlsNcsv
  8.    set CSVFILEPATH=%cd%\%XLSFILEPATH%\%TBNAME%
  9.    rem 这里是将xls转csv,已经成功生成csv文件
  10.    for /r %XLSFILEPATH% %%i in (*.xls) do @%XLS2CSV_HOME%\xls2csv.exe %%i utf-8
  11.    rem 这里是将生成的csv文件逐个重命名为表名,再用mysqlimport倒入mysql,最后删掉csv,就是这里出错了,但不知道哪里错,囧
  12.    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% )
  13.    pause
复制代码

把@echo off删掉,执行过程和报错信息全部贴出来。

TOP

昨天弄好了,这里贴个完整的cmd
  1. @echo off
  2.    set XLS2CSV_HOME=tools
  3.    set DBUSER=root
  4.    set DBPASSWORD=123456
  5.    set DBNAME=wjjs
  6.    set TBNAME=entirepop_r2.csv
  7.    set XLSFILEPATH=xlsNcsv
  8.    set CSVFILEPATH=%cd%\%XLSFILEPATH%\%TBNAME%
  9.     for /r %XLSFILEPATH% %%i in (*.xls) do %XLS2CSV_HOME%\xls2csv.exe %%i utf-8
  10. for /r %XLSFILEPATH% %%i in (*.csv) do ( if "%%~zi"=="2" ( del %%i ) else (
  11. ren %%i %TBNAME%
  12. echo ready import %CSVFILEPATH%
  13. 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%
  14. echo complete import %%i
  15. del %XLSFILEPATH%\%TBNAME%
  16. ))
  17. pause
复制代码

TOP

回复 2# BAT-VBS

压根没有报错信息。。。。。echo on 也是打印执行的语句而已

TOP

回复 3# bat251626910


    恭喜。自己动手丰衣足食

TOP

返回列表