找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24919|回复: 6

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

[复制链接]
发表于 2016-7-31 10:50:35 | 显示全部楼层 |阅读模式
本帖最后由 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

后面还有很多我就不列举了
求助大神该怎么写呢

评分

参与人数 1PB -2 收起 理由
pcl_test -2 未按版规发帖

查看全部评分

 楼主| 发表于 2016-7-31 10:53:56 | 显示全部楼层
“可是我想要的效果”这行中,set /a axx=!axx!%%x 此类型的行可无视,我顺手给写了下去而已
发表于 2016-7-31 11:17:56 | 显示全部楼层
回复 2# 嬴政


    不知道需要无视哪些部分,你自己更新顶楼内容把不需要的都删掉吧。
发表于 2016-7-31 12:03:13 | 显示全部楼层
  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:21 | 显示全部楼层
回复 3# gawk


    好了改好了
 楼主| 发表于 2016-8-1 03:53:49 | 显示全部楼层
回复 4# pcl_test


    版主大大。。我改好了,还算违规莫
 楼主| 发表于 2016-8-1 04:49:05 | 显示全部楼层
回复 4# pcl_test


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

这一串看不懂呐。。可以解释解释莫
新人。见谅
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 11:25 , Processed in 0.018112 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表