[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理BAT如何提取到的变量替换另外一个文本中的内容?

之前通过论坛的高手帮助将指定位置的文本和里面的内容赋值到变量中,现在请问下各位如何将这个变量a和变量a替换另外一个位置内的test.sql文件中:
附上提取到变量的脚本:
  1. @echo off
  2. set time=%date:~0,10%-%time:~0,2%%time:~3,2%%time:~6,2%
  3. pushd "c:\test\"
  4. for /f "delims=" %%a in ('dir /a-d /tw /o-d /b *.txt') do (
  5.     set "a=%%~na"
  6.     set /p b=<"%%a"
  7.     move "%%a" "c:\testlog\%%a"%time%
  8.     goto :Next
  9. )
  10. :Next
  11. echo,%a%&echo,%b%
  12. pause
复制代码
----------------------------------------------------------------------------------
请问如何将上面提取到的变量a和变量b替换到C:\sql\test.sql中的指定位置:
1.1、如何将变量a赋值到红色部分的内容(变量a提取到的内容也是10位)
1.2、如何将变量b赋值到紫色的数字部分(变量b提取到的内容也是数字)
以下为C:\SQL\test.sql中的内容:

set echo on;
set time on;
set colsep |;
column spf new_value spf noprint;
select 'c:\log\'||to_char(sysdate,'YYYYMMDD-HH24MISS')||'.txt' spf from dual;
spool &spf;
COLUMN WO_ID JUSTIFY center;
COLUMN PLAN_QTY JUSTIFY center;
COLUMN WO_QTY JUSTIFY center;
COLUMN AUFNR JUSTIFY center;
COLUMN GAMNG JUSTIFY center;
COLUMN WO_ID FORMAT a10;
COLUMN WO_QTY FORMAT 9999999999;
COLUMN PLAN_QTY FORMAT 9999999999;
COLUMN AUFNR FORMAT a10;
COLUMN GAMNG FORMAT 9999999999999.999;
update table1 set qty=a_qty+51,b_qty=b_qty+51 where id='ABCDEFG12A';
update tablename set e_qty=e_qty+51 where d_id=(select c_id from table1 wm where _id='ABCDEFG12A');
spool off;
exit;
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 linlianboy 于 2014-2-27 11:22 编辑

已解决            
!!a!!

TOP

本帖最后由 linlianboy 于 2014-2-27 11:22 编辑

已解决!!!!

TOP

返回列表