标题: [文件操作] 获取磁盘信息并转化成SQL的批处理有什么问题吗? 为什么会报错呢。 [打印本页]
作者: wwjfeng2015 时间: 2015-5-8 11:16 标题: 获取磁盘信息并转化成SQL的批处理有什么问题吗? 为什么会报错呢。
报错信息
D:\>pause
请按任意键继续. . .
此时不应有 VALUES('tsgammadb1'。
D:\>echo insert into ADMIN.WIN_DISK_INFO(HOSTNAME,DISK_NAME,TOTAL,AVAIL,USAGE) V
ALUES('tsgammadb1',x,%j,%k,%l);- setlocal enabledelayedexpansion
- set t=1 1
- set t=%t:~1,1%
- echo 盘符 总量 剩余量 未用率 使用率>磁盘信息.txt
- wmic logicaldisk where drivetype=3 get caption,freespace,size>d.txt
- (for /f "skip=1 tokens=1-3" %%i in ('type d.txt') do (
- set s=%%k
- set /a s=!s:~,-3!/1024/1024
- set f=%%j
- set /a f=!f:~,-3!/1024/1024
- set /a wyl=100*!f!/!s!
- set /a syl=100-wyl
- echo %%i,!s!,!f!,!syl!
- ))>>d:\disk.txt
- del d.txt
- pause
- for /f "delims=, tokens=1-4" %%i in ('d:\disk.txt') do (
- pause
- set x='%%i'
- pause
- echo insert%t%into%t%ADMIN.WIN_DISK_INFO(HOSTNAME,DISK_NAME,TOTAL,AVAIL,USAGE)%t%VALUES('tsgammadb1',x,%%j,%%k,%%l);
- pause
- )>>d:\disk2.txt
- pause
复制代码
作者: xxpinqz 时间: 2015-5-8 11:23
)括号要加上^- ,USAGE^)%t%VALUES('tsgammadb1',x,%%j,%%k,%%l^);
复制代码
作者: wwjfeng2015 时间: 2015-5-8 11:40
回复 2# xxpinqz
感谢大神帮助,小弟还有个问题 在输出的disk2.txt 中 变量x 没有显示它的值。 应该如何写在echo中的x呢?“VALUES('tsgammadb1',x,%%j,%%k,%%l^);
”
(for /f "delims=, tokens=1-4" %%i in ('type disk.txt') do (
set x='%%i'
echo insert into ADMIN.WIN_DISK_INFO(HOSTNAME,DISK_NAME,TOTAL,AVAIL,USAGE^) VALUES('tsgammadb1',x,%%j,%%k,%%l^);
))>>d:\disk2.txt
作者: xxpinqz 时间: 2015-5-8 11:43
复制代码
作者: wwjfeng2015 时间: 2015-5-8 11:47
回复 4# xxpinqz
还是不行,输出是这样的。
insert into ADMIN.WIN_DISK_INFO(HOSTNAME,DISK_NAME,TOTAL,AVAIL,USAGE) VALUES('tsgammadb1',!x!,99,61,39);
作者: xxpinqz 时间: 2015-5-8 12:08
本帖最后由 xxpinqz 于 2015-5-8 12:09 编辑
回复 5# wwjfeng2015
独立出来要加- setlocal enabledelayedexpansion
- (for /f "delims=, tokens=1-4" %%i in ('type disk.txt') do (
- set x='%%i'
- echo insert into ADMIN.WIN_DISK_INFO(HOSTNAME,DISK_NAME,TOTAL,AVAIL,USAGE^) VALUES('tsgammadb1',x,%%j,%%k,%%l^);
- ))>>d:\disk2.txt
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |