中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 21:37
48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » BAT调用就出错?
可打印版本  830 / 3
第1楼 oicq63236 发表于 2008-03-24 20:16
初级用户 发帖 20 积分 54
BAT调用就出错?
编了个BAT,双击打开不出错,用AT或START启动,就出错
脚本内容:
@echo off
title 朔州OA系统自动备份工具
set BAK=G:\OA_BAK\
for /f %%i in ('date/t') do set folder=%%i
for /f "tokens=1,2 delims=:" %%i in ('time/t') do set subfolder=%%i-%%j
echo 正在 [备份 attach 文件夹 ] &7z a -t7z %BAK%%folder%-%subfolder%.7z attach >nul
if %errorlevel% neq 0 (
echo 失败 [备份 attach 文件夹 ] &net send 10.1.251.222 "备份 attachment 文件夹失败"
)
echo 正在 [备份 attachment 文件夹 ] &7z a -t7z %BAK%%folder%-%subfolder%.7z webroot\attachment >nul
if %errorlevel% neq 0 (
echo 失败 [备份 attachment 文件夹 ] &net send 10.1.251.222 "备份 attachment 文件夹失败"
)
echo 正在 [导出 网络办公系统数据库 ] &mysql\bin\mysqldump.exe -u root -pmyoa888 TD_OA >%BAK%%subfolder%.sql
if %errorlevel% neq 0 (
echo 失败 [导出 网络办公系统数据库 ] &net send 10.1.251.222 "导出 网络办公系统数据库 失败"
)
echo 正在 [备份 网络办公系统数据库 ] &7z a -t7z %BAK%%folder%-%subfolder%.7z %BAK%%subfolder%.sql >nul
if %errorlevel% neq 0 (
echo 失败 [备份 网络办公系统数据库 ] &net send 10.1.251.222 "备份 网络办公系统数据库 失败"
)
del %BAK%*.sql
echo 正在 [备份 屏蔽通达网站网页 ] &7z a -t7z %BAK%%folder%-%subfolder%.7z webroot\general\login_info.php >nul
if %errorlevel% neq 0 (
echo 失败 [屏蔽通达网站网页 ] &net send 10.1.251.222 "备份 屏蔽通达网站网页 失败"
)
echo 正在 [备份 屏蔽验证序列号网页 ] &7z a -t7z %BAK%%folder%-%subfolder%.7z webroot\general\system\reg_view\index.php >nul
if %errorlevel% neq 0 (
echo 失败 [备份 屏蔽验证序列号网页 ] &net send 10.1.251.222 "备份 屏蔽验证序列号网页 失败"
)
echo 正在 [备份 修改后桌面网页 ] &7z a -t7z %BAK%%folder%-%subfolder%.7z webroot\general\mytable\intel_view\index.php >nul
if %errorlevel% neq 0 (
echo 失败 [备份 修改后桌面网页 ] &net send 10.1.251.222 "备份 修改后桌面网页 失败"
)
echo 正在 [备份 修改后公共通讯薄 ] &7z a -t7z %BAK%%folder%-%subfolder%.7z webroot\general\address\public\address\index.php >nul &7z a -t7z %BAK%%folder%-%subfolder%.7z webroot\general\address\public\menu.php >nul
if %errorlevel% neq 0 (
echo 失败 [备份 修改后公共通讯薄 ] &net send 10.1.251.222 "备份 修改后公共通讯薄 失败"
)
if %errorlevel% equ 0 (
net send 10.1.251.222 OA办公系统现在备份完毕
pause

具体问题出在哪?与路径没写全有关吗?还是与父权限什么来着有关?
第2楼 Climbing 发表于 2008-03-24 21:46
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
你只给出了一个程序,又没有给出哪一部分运行失败了,这哪里看得出来呢?
第3楼 oicq63236 发表于 2008-03-26 00:29
初级用户 发帖 20 积分 54
用AT执行时,所有的都出错,估计就是目录不正确,用AT执行时,是以AT所在目录为主目录
第4楼 m84464772 发表于 2008-03-26 22:51
初级用户 发帖 12 积分 31
你自己都说了.还想再问吗?批处理从那里起动的那里就是它的工作目录.但网络路径除外.你最好在最上面加个cd /d转到你需要的路径.
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023