Board logo

标题: [文本处理] 如何把一個文本的內容依次輸入端到一個BAT裏面執行?? [打印本页]

作者: zero.z.rao    时间: 2013-5-8 14:06     标题: 如何把一個文本的內容依次輸入端到一個BAT裏面執行??

如何把下面name.txt 文本的内容 依次代入到test.bat里面执行,变量为 i
我只知道用 要用 for /f %%i in (name.txt) do (?)
但是貌似%%i 无法进入到test.bat 里面去。
各位大侠 求解!

name.txt:
---------------------------
R1E119
r1e114
r1e117
----------------------------

test.bat 内容如下:
  1. @echo off
  2. set  str=%i%
  3. set X=%str:~1,1%
  4. set Y=%str:~3,1%
  5. set B=%str:~4,2%
  6. set /a A=18*X+2*Y-9
  7. echo  目前:A=%A% B=%B%  str=%str%  X=%X% Y=%Y%
  8. pause
复制代码

作者: zero.z.rao    时间: 2013-5-8 14:09     标题: 如何把一个文本内容依次输入到一个bat里面执行??

如何把下面name.txt 文本的内容 依次代入到test.bat里面执行,变量为 i
我只知道用 要用 for /f %%i in (name.txt) do (?)
但是貌似%%i 无法进入到test.bat 里面去。
各位大侠 求解!

name.txt:
---------------------------
R1E119
r1e114
r1e117
----------------------------

test.bat 内容如下:
----------------------------------
@echo off
set  str=%i%
set X=%str:~1,1%
set Y=%str:~3,1%
set B=%str:~4,2%
set /a A=18*X+2*Y-9
echo  目前:A=%A% B=%B%  str=%str%  X=%X% Y=%Y%
pause
--------------------------------------
作者: czjt1234    时间: 2013-5-8 15:39

  1. @echo off & SETLOCAL ENABLEDELAYEDEXPANSION
  2. for /f %%i in (name.txt) do (
  3. set  str=%%i
  4. set X=!str:~1,1!
  5. set Y=!str:~3,1!
  6. set B=!str:~4,2!
  7. set /a A=18*!X!+2*!Y!-9
  8. echo  目前:A=!A! B=!B!  str=!str!  X=!X! Y=!Y!
  9. pause
  10. )
复制代码

作者: 云中听雨    时间: 2013-5-8 15:45

  1. @echo off
  2. for /f %%i in (name.txt) do (
  3. set "str=%%i"
  4. call set X=%%str:~1,1%%
  5. call set Y=%%str:~3,1%%
  6. call set B=%%str:~4,2%%
  7. call set /a A=18*%%X%%+2*%%Y%%-9
  8. call echo  目前:A=%%A%% B=%%B%%  str=%%str%%  X=%%X%% Y=%%Y%%
  9. )
  10. pause
复制代码
新手前来献丑。
不能有特殊符号
作者: zero.z.rao    时间: 2013-5-9 09:06

回复 3# czjt1234


    如果test.bat 內容為:
  1. set  str=%%i
  2. set X=!str:~1,1!
  3. set Y=!str:~3,1!
  4. set B=!str:~4,2!
  5. set /a A=18*!X!+2*!Y!-9
  6. echo  目前:A=!A! B=!B!  str=!str!  X=!X! Y=!Y!
  7. >"%temp%\TelFile.vbs" echo Set WshShell = CreateObject("WScript.Shell")
  8. >>"%temp%\TelFile.vbs" echo WshShell.Run "telnet.exe -l Administrator 10.202.72.!A!"
  9. >>"%temp%\TelFile.vbs" echo WScript.Sleep(500)
  10. start cscript /nologo "%temp%\TelFile.vbs"
复制代码
那該如何處理呢?
如果直接貼上 好像 for語句後面的() 有點問題,也就是 for語句會把  …………CreateObject("WScript.Shell")  面的反括號“
) ”當成自己的()中的反括號,輸入到TelFile.vbs的內容變成了  Set WshShell = CreateObject("WScript.Shell" 。末尾少了一個方括號:)




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2