中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-07 20:52
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » BAT调用就出错? 查看 829 回复 3
楼 主 BAT调用就出错? 发表于 2008-03-24 20:16 ·  中国 山西 朔州 联通
初级用户
积分 54
发帖 20
注册 2006-12-13 23:52
19年会员
UID 73432
性别 男
状态 离线
编了个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 发表于 2008-03-24 21:46 ·  中国 河北 保定 移动
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
你只给出了一个程序,又没有给出哪一部分运行失败了,这哪里看得出来呢?
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
3 发表于 2008-03-26 00:29 ·  中国 山西 朔州 联通
初级用户
积分 54
发帖 20
注册 2006-12-13 23:52
19年会员
UID 73432
性别 男
状态 离线
用AT执行时,所有的都出错,估计就是目录不正确,用AT执行时,是以AT所在目录为主目录
4 发表于 2008-03-26 22:51 ·  中国 四川 成都 移动
初级用户
积分 31
发帖 12
注册 2006-09-29 21:10
19年会员
UID 64064
状态 离线
你自己都说了.还想再问吗?批处理从那里起动的那里就是它的工作目录.但网络路径除外.你最好在最上面加个cd /d转到你需要的路径.
论坛跳转: