后面的do语句不能换行吗?
我要是想加一个echo 可以不 
do echo 正在备份数据库%%i "备份语句"貌似不会执行后面的了 O(∩_∩)O哈哈~

解决方案 »

  1.   

    for /f %%i in ('C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql -hIP -u用户 -p密码 -N -e "show databases";') do echo %%i路径里面有空格就会报错,这个怎么解决?
      

  2.   

    do “love'
    or
    do "爱"
    do "小爱" 
      

  3.   

    for /f %%i in ('"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -hIP -u用户 -p密码 -N -e "show databases";') do echo %%i
    笨蛋 用双引号 试试
      

  4.   


    可以用小括号进行括起,写多个语句都可以,比如下面的语句用来测试:
    @echo off
    for /F %%i in ('echo 1 2 3') do (
        echo %%i
        echo 2 %%i
    )
      

  5.   

    FOR /f  %%i in ('"C:\Program Files\a.txt"') do echo %%i这样是可以的但是FOR /f  %%i in ('"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -uroot -p123456 -N -e "show databases";') do echo   %%i就会报错,说 C:\Program  不是内部或外部命令
      

  6.   

    FOR /f  %%i in ('"C:\Program Files\a.txt"') do echo %%i这样是可以的但是FOR /f  %%i in ('"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -uroot -p123456 -N -e "show databases";') do echo   %%i就会报错,说 C:\Program  不是内部或外部命令
      

  7.   

    for /f %%i in ('"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -hIP -u用户 -p密码 -N -e "show databases";') do (echo "正在备份%%i" & "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump --hIP -u用户 -p密码 %%i > %%i.sql)
      

  8.   

    for /f %%i in ('"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -hIP -u用户 -p密码 -N -e "show databases";') do (echo "正在备份%%i" & "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump --hIP -u用户 -p密码 %%i > %%i.sql)
      

  9.   

    for /f %%i in ('"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -hIP -u用户 -p密码 -N -e "show databases";') do (echo "正在备份%%i" & "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump --hIP -u用户 -p密码 %%i > %%i.sql)
      

  10.   

    for /f %%i in ('"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -hIP -u用户 -p密码 -N -e "show databases";') do (echo "正在备份%%i" & "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump --hIP -u用户 -p密码 %%i > %%i.sql)
      

  11.   

    for /f %%i in ('"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -hIP -u用户 -p密码 -N -e "show databases";') do (echo "正在备份%%i" & "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump --hIP -u用户 -p密码 %%i > %%i.sql)
      

  12.   

    for /f %%i in ('"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -hIP -u用户 -p密码 -N -e "show databases";') do (echo "正在备份%%i" & "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump --hIP -u用户 -p密码 %%i > %%i.sql)
      

  13.   

    for /f %%i in ('"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -hIP -u用户 -p密码 -N -e "show databases";') do (echo "正在备份%%i" & "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump --hIP -u用户 -p密码 %%i > %%i.sql)
      

  14.   

    会提示
    说 C:\Program  不是内部或外部命令
      

  15.   

    csdn 出了很大问题,打下这样加引号 不行
      

  16.   

    for /f %%i in ("C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -hIP -u用户 -p密码 -N -e "show databases";') do (echo "正在备份%%i" & "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump --hIP -u用户 -p密码 %%i > %%i.sql)我是测试通过的,修改成你的路径时多了单引号
      

  17.   

    我的语句,自行修改一下
    for /f %%i in ('J:\NEWMYSQL\BIN\mysql -uroot -p123 -N -e "show databases";') do (echo "正在备份%%i" & J:\NEWMYSQL\BIN\mysqldump -uroot -p123 %%i > %%i.sql)
    for /f %%i in ('"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -hIP -u用户 -p密码 -N -e "show databases";') do (echo "正在备份%%i" & "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump --hIP -u用户 -p密码 %%i > %%i.sql)
      

  18.   

    还有问题啊……如下方案测试:
    1. 将路径加到 PATH 环境变量中,则脚本里只要直接写程序名就可以了
    2. 把 mysql 和 mysqldump 复制到脚本的同一目录下即可,这两个命令可以单独拿出来使用的,此时,可以直接使用命令名,因为在同一目录了,就不用再写长长的路径了
      

  19.   

    1、
    "C:\Program Files\MySQL\bin\mysql" -uroot -p123L -N -e "show databases;">aa.txt
    for /f %%i in (aa.txt) do (echo "正在备份%%i" & "C:\Program Files\MySQL\bin\mysql" -uroot -p123 %%i > %%i.sql)
    2、将
    "C:\Program Files\MySQL\bin
    加入到路径中
      

  20.   

    找到原因了因为 "show databases"
    这里双引号的缘故。不知道怎么解决。
      

  21.   

    另外可以用临时文件替代,如下测试通过:
    @echo off
    echo 现在是 %DATE% %TIME%
    echo.
    echo MySQL数据库备份
    echo *****************************
    echo.
    SET "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
    SET tmpFile=tttt.tmp"C:\Documents and Settings\nicenight\mysql" -hIP -u用户 -p密码 -N -e "SHOW DATABASES;" > %tmpFile%
    for /f %%i in (%tmpFile%) do echo %%iecho.
    echo MySQL数据库备份完成,请进行检查
    echo.
    echo.
      

  22.   

    还有一个方案是把你的脚本放到你的 mysql 目录下,需要另外地方用的时候加一个快捷方式即可~哈