Board logo

标题: [文本处理] 批处理如何将%var%、!var!此类变量表达式和百分号输出到文本 [打印本页]

作者: 嬴政    时间: 2016-7-31 10:50     标题: 批处理如何将%var%、!var!此类变量表达式和百分号输出到文本

本帖最后由 pcl_test 于 2016-8-1 08:48 编辑
@echo off
setlocal enabledelayedexpansion
for /l %%i in (5,2,200) do (
set /a var%%i=%%i-2
set A%%i=a!var%%i!
set z=!A%%i!
set h=set /a !z!=)
for /l %%u in (1,1,100) do (set old=%%u
set now=a!old!
set j=b!now!b/2)
echo !h!!j!>>ceshi.txt

此代码执行后的文本为
set /a a197=ba100b/2

可是我想要的效果却是
set /a a3=!a1!/2
set /a a5=!a3!/2
set /a a7=!a5!/2
set /a a9=!a7!/2
set /a a11=!a9!/2
set /a a13=!a11!/2
set /a a15=!a13!/2
set /a a17=!a15!/2
set /a a19=!a17!/2
set /a a21=!a19!/2
set /a a23=!a21!/2
set /a a25=!a23!/2
set /a a27=!a25!/2
set /a a29=!a27!/2
set /a a31=!a29!/2
set /a a33=!a31!/2
set /a a35=!a33!/2

后面还有很多我就不列举了
求助大神该怎么写呢
作者: 嬴政    时间: 2016-7-31 10:53

“可是我想要的效果”这行中,set /a axx=!axx!%%x 此类型的行可无视,我顺手给写了下去而已
作者: gawk    时间: 2016-7-31 11:17

回复 2# 嬴政


    不知道需要无视哪些部分,你自己更新顶楼内容把不需要的都删掉吧。
作者: pcl_test    时间: 2016-7-31 12:03

  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (3,1,100) do (
  3.     2>nul set /a "1/(%%i%%2)"&&(
  4.         set /a "n=%%i-2"
  5.         echo;set /a a%%i=^^!a!n!^^!/2
  6.     )||(
  7.         set /a "n=%%i-3"
  8.         echo;set /a a%%i=^^!a!n!^^!%%%%2
  9.     )
  10. )
  11. pause
复制代码

作者: 嬴政    时间: 2016-8-1 03:53

回复 3# gawk


    好了改好了
作者: 嬴政    时间: 2016-8-1 03:53

回复 4# pcl_test


    版主大大。。我改好了,还算违规莫
作者: 嬴政    时间: 2016-8-1 04:49

回复 4# pcl_test


    版主大大,
for /l %%i in (3,1,100) do (
    2>nul set /a "1/(%%i%%2)"&&(
        set /a "n=%%i-2"

这一串看不懂呐。。可以解释解释莫
新人。见谅




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