用批处理写的:数据库备份还原工具

简介:
由于平时要进行数据库的备份和还原操作,为了提高效率和节省时间就有了下面的批处理程序,这是针对oracle编写的,可以用在不同的电脑上,因为它会自动读取当前电脑的环境变量,从而取得oracle的安装路径,唯一有一点不足的地方是程序中运行过程中会产生一个中间文本文件,不过这并不碍大事,备份或者还原完了以后将会自动删除产生文本文件,代码如下:
@echo off&setlocal enabledelayedexpansion 
color 0a 
:start 
for /f "tokens=2 delims==" %%a in ('path') do ( 
        set "str=%%a" 
        set str=!str: =+! 
        for %%i in (!str!) do ( 
                set "var=%%i" 
                set var=!var:+= ! 
                echo !var!>>change.txt 
  for /f "delims=" %%i in ('findstr "Db_1\bin" change.txt') do set var=%%i 
        ) 
         


set /p choice=1.备份 2.还原 3.按任意键退出: 
if %choice%==1 goto exp 
if %choice%==2 goto imp 
:exp 
del /q change.txt 
set /p file=请输入备件数据库的文件名: 
set /p path=请输入存放的路径(记得输冒号:): 
"%var%"\exp.exe smhr/smhr@orcl file=%path%\%file% full=n 
set /p choice=1.继续 2.按任意键退出: 
if %choice%==1 goto start 
:imp 
del /q change.txt 
set /p file=请将要导入的数据库文件拖入窗体内: 
"%var%"\imp.exe smhr/smhr@orcl file=%file% full=y 
set /p choice=1.继续 2.按任意键退出: 
if %choice%==1 goto start
要注意代码中的@orcl 如果你的电脑上只有一个数据库,那么这个写不写是不碍事的,但是如果有两个数据那么这个是必须得写的,否则会出现用户名密码失败。
 
今天(2010.07.15)又再次看了看,以前写过的这个批处理,发现了一些问题,以前考虑的是环境变量中的第一条路径是oracle的,可是在我现在工作的电脑上的环境变量是这样的
e:\Oracle\product\10.1.0\Client_1\bin;e:\Oracle\product\10.1.0\Client_1\jre\1.4.2\bin\client;e:\Oracle\product\10.1.0\Client_1\jre\1.4.2\bin;e:\oracle\product\10.1.0\Db_1\bin;e:\oracle\product\10.1.0\Db_1\jre\1.4.2\bin\client;e:\oracle\product\10.1.0\Db_1\jre\1.4.2\bin;E:\Python26;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;E:\Program Files\Subversion\bin;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs
看到了吧前面的并不是我们想要的,我写的这个批处理真正需要的是以下这行路径
e:\oracle\product\10.1.0\Db_1\bin
所以需要将原代码中的
for /f "delims=" %%i in ('findstr "oracle" change.txt') do set var=%%i
改为
for /f "delims=" %%i in ('findstr "Db_1\bin" change.txt') do set var=%%i
这样以来,就能适应任何环境的主机了,因为我们查询的是Db_1\bin
 
本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/353376,如需转载请自行联系原作者
相关文章
|
3月前
|
SQL 存储 关系型数据库
IDEA中居然有碾压Navicat的数据库管理工具
【8月更文挑战第12天】IDEA中居然有碾压Navicat的数据库管理工具
201 3
IDEA中居然有碾压Navicat的数据库管理工具
|
22天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
72 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
1月前
|
SQL 数据可视化 关系型数据库
【数据库工具】DBeaver:一款免费的通用数据库工具和 SQL 客户端
【数据库工具】DBeaver:一款免费的通用数据库工具和 SQL 客户端
112 1
|
1月前
|
Rust 关系型数据库 Linux
Rainfrog: 轻量级数据库管理工具
【10月更文挑战第3天】
|
3月前
|
人工智能 小程序 Java
【工具】轻松解锁SQLite数据库,一窥微信聊天记录小秘密
本文介绍了一款名为PyWxDump的开源工具,它可以获取微信账户信息、解密SQLite数据库以查看和备份聊天记录。此工具适用于已登录电脑版微信的用户,通过GitHub下载后简单几步即可操作。适合对数据恢复感兴趣的开发者,但请注意合法合规使用并尊重隐私。
519 2
【工具】轻松解锁SQLite数据库,一窥微信聊天记录小秘密
|
3月前
|
存储 前端开发 关系型数据库
秀啊,用Python快速开发在线数据库更新修改工具
秀啊,用Python快速开发在线数据库更新修改工具
|
3月前
|
前端开发 数据库 Python
用Python轻松开发数据库取数下载工具
用Python轻松开发数据库取数下载工具
|
3月前
|
SQL NoSQL 关系型数据库
推荐3款免费且实用的数据库管理工具
推荐3款免费且实用的数据库管理工具
185 2
|
3月前
|
存储 SQL NoSQL
数据转型秘诀:10强数据库管理工具
本文概览了十款特色鲜明的数据库系统,包括低代码平台Zoho Creator,以及PostgreSQL、MySQL等关系型数据库,还有MongoDB这样的NoSQL文档数据库。这些系统覆盖了从企业数据管理到Web应用开发的不同需求场景,如Zoho Creator允许非技术人员也能构建定制化的数据库应用;PostgreSQL以其稳定性和强大功能闻名;而MongoDB则擅长处理大量非结构化数据。每款数据库都针对特定的应用场景提供了独特的解决方案。
64 4
|
3月前
|
SQL 数据处理 数据库
下一篇
无影云桌面