Board logo

标题: [文本处理] 批处理有这样通过管道传递参数的办法么? [打印本页]

作者: shuzai    时间: 2015-11-5 12:07     标题: 批处理有这样通过管道传递参数的办法么?

命令行要访问
  1. curl http://www.ip138.com:8080/search.asp?action=mobile&mobile=13888888888
复制代码
传递进来的参数是 mobile 和 13888888888

假设是
  1. echo mobile 13888888888
复制代码
获得参数(或者其他命令工具得到类似格式的),那能通过管道把这参数传下来么?

就是要
  1. echo mobile 13888888888 | curl http://www.ip138.com:8080/search.asp?action=(这里)&mobile=(这里)
复制代码

作者: terse    时间: 2015-11-5 12:13

call 过去不行吗
作者: 依山居    时间: 2015-11-5 12:27

最简单的就是echo到文件里再取到变量里了。
作者: shuzai    时间: 2015-11-5 12:39

回复 3# 依山居


    这个确实,不过很死板的看看有没有直接一条命令行完成。这样子可以多条命令利用管道处理完整件事情,连bat都不用写。
   而且也不打算用中间文件的形式作为过渡

一行命令完成所有事情,很帅啊 :lol :lol
作者: pcl_test    时间: 2015-11-5 12:44

本帖最后由 pcl_test 于 2015-11-5 12:50 编辑

不明白为何要这样
直接
  1. curl http://www.ip138.com:8080/search.asp?action=mobile&mobile=13888888888
复制代码
不能?
或是
  1. set a=mobile&set b=13888888888
  2. curl http://www.ip138.com:8080/search.asp?action=%a%&mobile=%b%
复制代码

作者: shuzai    时间: 2015-11-5 12:56

不明白为何要这样,多此一举
直接不能?
或是
pcl_test 发表于 2015-11-5 12:44



    举的例子是指定例子而已。而现在只是突然有点极客精神,希望用命令行工具的形式完成任务而不借助于中间文件和bat。

现在做到的一个是,通过curl获取一个页面,通过html2txt或者xml或者json2csv之类的工具,取出一些元素,再利用这些元素继续curl直到完成任务再利用 > 输出结果。一行多条命令利用管道完成~~如果不需要传递参数的操作,已经可以实现了,就是传递参数这个不好弄~
作者: pcl_test    时间: 2015-11-5 13:00

回复 6# shuzai

不借助于中间文件和bat,那for+变量不能?
作者: 依山居    时间: 2015-11-5 13:02

回复 6# shuzai


    你还不如自己写程序。要干啥功能都是一个程序,连参数都不用拼。
作者: shuzai    时间: 2015-11-5 13:08

回复  shuzai


     你还不如自己写程序。要干啥功能都是一个程序,连参数都不用拼。
依山居 发表于 2015-11-5 13:02



    想拿现有的轮子来用而已
作者: DAIC    时间: 2015-11-5 13:50

回复 6# shuzai


    Windows的管道和Linux的管道都不支持你的想法
作者: 依山居    时间: 2015-11-5 14:24

回复 9# shuzai


    玩批处理只是人生中可有可无的无关紧要的经历而已。玩得好也不会给工作多加多少钱。属于可以选跳过的。

其它的还有linux、苹果系统之类的系统可以玩,编程语言数不胜数什么ruby GO rust等等,还有我大python

很多语言包括批处理,你愿意的话都可以费心把代码写成一样。看起来就是一行命令。只不过可读性和维护性差。
作者: tmplinshi    时间: 2015-11-6 01:26

本帖最后由 tmplinshi 于 2015-11-6 01:27 编辑

do.bat
  1. @echo off
  2. for /f "tokens=1-10" %%a in ('findstr .*') do %*
复制代码
示例
C:\>echo mobile 13888888888 | do curl "http://www.ip138.com:8080/search.asp?action=%a&mobile=%b"





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