用bat 命令 修改sql文件中的数据库名字 新的名字通过读取配置文件中的字段获取
2024-01-09 09:37:17
在批处理脚本中,如果新数据库名存储在配置文件(比如config.ini)中的某个字段内,可以按照以下步骤进行:
假设你的配置文件内容如下:
Ini
[Database]
newName=myNewDB
要读取这个值并用于替换.sql文件中的旧数据库名,请使用以下批处理脚本:
Batch
@echo off
setlocal enabledelayedexpansion
:: 读取配置文件中的新数据库名
for /f "tokens=2 delims==" %%a in ('findstr /b "newName=" config.ini') do (
set "NEW_DB_NAME=%%a"
)
:: 遍历所有.sql文件并替换数据库名
for /r %%i in (*.sql) do (
echo Processing file: %%i
type "%%i" > "temp.tmp"
for /f "delims=" %%j in ('type "temp.tmp"') do (
set "line=%%j"
set "line=!line:oldDBName=%NEW_DB_NAME%!"
echo.!line! >> "new_%%i"
)
del "%%i"
ren "new_%%i" "%%i"
)
del "temp.tmp"
echo All .sql files processed.
endlocal
在这个脚本中,首先通过findstr
和for /f
命令组合读取配置文件的特定行,并提取出新数据库名。然后,遍历所有.sql文件执行替换操作。
同样要注意的是,此方法对于简单的SQL语句中的文本替换有效,但对于复杂的SQL结构可能需要更精细的解析逻辑。同时,请确保备份重要文件并在实际环境中测试脚本的安全性和有效性。
文章来源:https://blog.csdn.net/wangqiaowq/article/details/135470945
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!