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

[文本处理] 批处理有这样通过管道传递参数的办法么?

命令行要访问
  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=(这里)
复制代码
echo hello

call 过去不行吗

TOP

最简单的就是echo到文件里再取到变量里了。

TOP

回复 3# 依山居


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

一行命令完成所有事情,很帅啊 :lol :lol
echo hello

TOP

本帖最后由 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%
复制代码

TOP

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



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

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

TOP

回复 6# shuzai

不借助于中间文件和bat,那for+变量不能?

TOP

回复 6# shuzai


    你还不如自己写程序。要干啥功能都是一个程序,连参数都不用拼。

TOP

回复  shuzai


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



    想拿现有的轮子来用而已
echo hello

TOP

回复 6# shuzai


    Windows的管道和Linux的管道都不支持你的想法

TOP

回复 9# shuzai


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

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

很多语言包括批处理,你愿意的话都可以费心把代码写成一样。看起来就是一行命令。只不过可读性和维护性差。

TOP

本帖最后由 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"
1

评分人数

TOP

返回列表