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

[网络连接] 批处理打开不带http的网址为何出错?

看到版主Hello123World回复的代码感觉不错,可遗憾的是只支持带有http://的多个网址,
能不能修改成同时支持带有http://和不带有http://的网址?例如:
http://www.bathome.net/
http://www.2345.com
www.baidu.com

@echo off&Setlocal EnableDelayedExpansion
For /f "delims=" %%i in (1.txt) do (
        Start "" "%%i"
        Set /a n+=1
        Set /a a=!n!%%10
        If !a!==0 pause
        )
pause

上面这个批处理如果网址前缀无http://的话就会提示无法打开
Windows 找不到文件 '这里是网址'。请确定文件名是否正确后,再试一次。要搜索文件,请单击「开始」按钮,然后单击“搜索”。
好像只支持带有http://的多个网址,希望高手修改成同时支持带有http://和不带有http://的网址

  1. start "" "c:\Program Files\Internet Explorer\iexplore.exe" "www.bathome.net"
复制代码

TOP

  1. @echo off&Setlocal EnableDelayedExpansion
  2. For /f "delims=" %%i in (1.txt) do (
  3.         set "aa=%%i"
  4.         if /i not "!aa:~,7!"=="http://" set "aa=http://!aa!"
  5.         Start "" "!aa!"
  6.         Set /a n+=1
  7.         Set /a a=!n!%%10
  8.         If !a!==0 pause
  9.         )
  10. pause
复制代码
试试

TOP

本帖最后由 wh1234567 于 2012-5-22 18:26 编辑

回复 3# apang


    嗯,可以执行,我加了个拖拽到界面的功能,但不能执行,不知道如何加个支持路径和文件名中英文和空格的拖拽到界面的功能
set /p ravel=      请输入要执行的TXT文本文件名或直接拖入文件,然后按回车键:
set "ravel=%ravel:"=%"
For /f "delims=" %%i in ('type "%ravel%"') do (......
....

Windows 找不到文件 '!aa!'。请确定文件名是否正确后,再试一次。要搜索文件,请单击「开始」按钮,然后单击“搜索”。

TOP

回复 4# wh1234567

你是不是把变量延迟给关了?
  1. @echo off&Setlocal EnableDelayedExpansion
  2. set/p ravel=输入要执行的TXT文件路径及文件名或直接拖入文件,然后回车:
  3. set "ravel=!ravel:"=!"
  4. For /f "usebackq delims=" %%i in ("!ravel!") do (
  5.         set "aa=%%i"
  6.         if /i not "!aa:~,7!"=="http://" set "aa=http://!aa!"
  7.         Start "" "!aa!"
  8.         Set /a n+=1
  9.         Set /a a=!n!%%10
  10.         If !a!==0 pause
  11. )
复制代码

TOP

(ping 127.0.0.1 /n 3)>nul
能不能加这个代码?

TOP

能,想如何加?
原代码是同时打开10个暂停一次。

TOP

本帖最后由 wh1234567 于 2012-5-22 20:13 编辑

回复 7# apang

我怕偶尔打不开网址或在其它电脑上无法使用,所以在For /f "usebackq delims=" %%i in ("!ravel!") 的上面加    (ping 127.0.0.1 /n 3)>nul
不知道有没有必要?
但是提示
'ping' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
(ping 127.0.0.1 /n 3)>nul
这个不知道为什么提示不对?

主命令正常

TOP

回复 8# wh1234567

貌似。。。没必要加延时
ping的问题,在另一帖子已有回复。。。

TOP

本帖最后由 wh1234567 于 2012-5-22 23:51 编辑

为什么偶尔打不开多个网址,只停留在一个网页上,偶尔如果先手动打开ie后,再运行批处理才能够顺利打开多个网址,不知道是为什么?如何解决

TOP

本帖最后由 apang 于 2012-5-23 14:00 编辑

回复 10# wh1234567

哦,这样试试看:
  1. @echo off&Setlocal EnableDelayedExpansion
  2. set/p ravel=输入要执行的TXT文件路径及文件名或直接拖入文件,然后回车:
  3. set "ravel=!ravel:"=!"
  4. For /f "usebackq delims=" %%i in ("!ravel!") do (
  5.         set "aa=%%i"
  6.         if /i not "!aa:~,7!"=="http://" set "aa=http://!aa!"
  7.         Start "" "%ProgramFiles%\Internet Explorer\iexplore.exe" "!aa!"
  8.         Set /a n+=1
  9.         Set /a a=!n!%%10
  10.         If !a!==0 pause
  11. )
复制代码

TOP

回复 11# apang

本帖最后由 wh1234567 于 2012-5-23 12:18 编辑

效果依旧,偶尔打不开多个网址,只停留在一个网页上,如果先手动打开ie后,再运行批处理才能够顺利打开多个网址

TOP

回复 12# wh1234567

11楼,你再试一遍吧。

TOP

回复 11# apang


    嗯,可以打开,速度也很快,遗憾的是 不是在同窗口里分别多个新选项卡打开,不知道能不能实现在同窗口里分别多个新选项卡打开

TOP

试试看这个
  1. rundll32.exe url.dll,FileProtocolHandler "www.google.com"
复制代码
可以不带 http://
这个也可以直接开启文件/文件夹

TOP

返回列表