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

[数值计算] 批处理怎么去除一个固定关系的行?

1.txt
01 02 03 04 05
01 02 03 04 06
01 02 03 04 07
01 02 03 04 08
01 02 03 04 09
01 02 03 04 10
01 02 03 04 11

怎么用一个表达式排除如 %b=%a+1 c%=%b+1 %d=%c+1 %e=%d+1
也就是12345这样的行 23456也是 符合的
应该%b=%a*2 %c=%b*2 %d=%c*2 。。。。
2 4 6 8 10

每次登陆提出问题 也是厚着脸皮 F5 F5 的刷新等着论坛里的大神帮忙
对于一个10年注册的老鸟了吧的尴尬
对于论坛给过我帮助的网友 无以为报 只有诚挚的祝福

TOP

回复 2# ads350668398

【排除12345】谢谢关注
01 02 03 04 06
01 02 03 04 07
01 02 03 04 08
01 02 03 04 09
01 02 03 04 10
01 02 03 04 11

TOP

升级版的bat 谢谢关注了

TOP

回复 4# Batcher


奇数-=~%%a%%2
,#偶数+=%%a%%2,
#被三整除+=%%a%%3,
#和+=100,
可以不可以吧这些关系的数字也删除啊??
例如

5 9 13 21 33奇数
2 12 26 28 32 偶数
3 9 18 27 33 北三整除

TOP

回复 9# Batcher


01 02 03 04 05 连续1
01 02 03 04 06
01 02 03 04 07
01 02 03 04 08
01 02 03 04 09
01 02 03 04 10
01 02 03 04 11
02 03 04 05 06 连续2
02 04 06 08 10 偶数0
03 06 09 12 15
01 03 05 07 09 奇数1
05 10 15 20 25 整除5
06 09 15 27 33 整除3
01 04 07 10 13
01 05 09 13 17 奇数2
01 06 11 16 21
01 07 13 19 25 奇数3
01 08 15 22 29
01 09 18 26 34
03 11 15 21 23 奇数4
06 10 18 22 28 偶数1
04 06 08 10 12 偶2
06 07 08 09 10 连续3
23 24 25 26 27 连续4
06 10 20 22 28 偶数3
28 29 30 31 32 连续5

我是打算去除这些连续1 2 3 4 5和奇数1 2 3 4 偶数1 2 3
现在连续和偶数基本解决了 虽然很。。。
怎么去除奇数 想不出来了??? 还有被3 5 整除????

------------------------
set flag=0
    set /a sum1=%%a+1
    set /a sum2=%%b+1
    set /a sum3=%%c+1
    set /a sum4=%%d+1
    if %%b equ !sum1! (
        set /a flag+=1
    )
    if %%c equ !sum2! (
        set /a flag+=1
    )
    if %%d equ !sum3! (
        set /a flag+=1
    )
    if %%e equ !sum4! (
        set /a flag+=1
    )
    if !flag! neq 4 (
        echo %%a %%b %%c %%d %%e %%f
可能都不知道我说的是什么但是
06 07 08 09 10 连续 3  失败
这一行在运行的时候也处理不掉 我知道是不是我电脑的毛病啊
******************************
(for /f "tokens=1-28" %%a in ('type "1.txt"') do (
    set flag=0
    set /a sum1=%%a+2
    set /a sum2=%%b+2
    set /a sum3=%%c+2
    set /a sum4=%%d+2
    if %%b equ !sum1! (
        set /a flag+=2
    )
    if %%c equ !sum2! (
        set /a flag+=2
    )
    if %%d equ !sum3! (
        set /a flag+=2
    )
    if %%e equ !sum4! (
        set /a flag+=2
    )
    if !flag! neq 4 (
        echo %%a %%b %%c %%d %%e %%f
    )
))>"2.txt"
set s
set sum1
set sum2
set sum3
set sum4
echo !%a%! %%b %%c %%d %%e
start 2.txt
::ping /n 8 127.0.0.1<nul
taskkill /im 2.txt
pause
结果:
02 04 06 08 10 偶数0 成功
06 10 18 22 28 偶数1 失败
04 06 08 10 12 偶2    成功
06 10 20 22 28 偶数3 失败

TOP

怎么去除奇数 北三被5 我一头雾水 穷尽。。。。

TOP

回复 13# ivor


    升级的bat 是的
但是这个好比别的语言 复杂难以理解 执行结果

C:\Users\Administrator\Desktop>owershell "& {[ScriptBlock]::Create("'#' + (gc '
C:\Users\Administrator\Desktop\1除以3的余数.bat' -raw)").Invoke()}"   & pause
& goto :eof
Get-Content : 找不到与参数名称“raw”匹配的参数。
所在位置 行:1 字符: 85
+ & {[ScriptBlock]::Create('#' + (gc 'C:\Users\Administrator\Desktop\1除以3的余
数.bat' -raw <<<< )).Invoke()}
    + CategoryInfo          : InvalidArgument: ( [Get-Content], ParameterBin
   dingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Comm
   ands.GetContentCommand

请按任意键继续. . .

TOP

本帖最后由 ads350668398 于 2019-5-31 08:36 编辑

。。。。。。。。。。。。
。。。。。。。
感谢网友热心 我们很优秀

TOP

返回列表