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

[文本处理] [已解决]批处理如何对输入的网址作为变量,将关键字本身之后的部分全部删除?

我想写个批处理,对我粘贴的网址,作为变量。然后批处理,自动,将我输入的网址将关键字本身及关键字之后的部分全部删除。需要注意的是,网址有有些符号,不要作为变量处理时歧义了。
  1. echo off
  2. echo.
  3. echo.
  4. set /p url=请输入URL链接:
  5. .....
  6. 在这里,如何将我输入的网址,关键字 “&idx=” 之后的部分全部删除掉,包含关键字本身也删除掉。
  7. echo %newurl%
复制代码
网址示例:

原URL
https://finder.video.XX.com/251/ ... ag=xV1&taskid=0

要删除掉的部分
&idx=1&a=1&adaptivelytrans=0&bizid=1023&dotrans=3071&hy=SH&m=feea41eaee5c5c2ea3acb81386847f2e&finderextscene=6&web=1&fexam=1&X-snsvideoflag=xV1&taskid=0

得到新的URL

https://finder.video.XX.com/251/ ... a6EgtFtibVbze4hPNoc

感谢!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 1# thp2008

用“set /p url=请输入URL链接:”输入网址,暂时没想到解决方法。
但如果把网址保存为1.txt,可用以下指令之一,在命令行中可以实现:
  1. sed "/&idx=.*$/s///" 1.txt>2.txt
复制代码
  1. gawk "{sub(/&idx=.*$/,\"\")}1" 1.txt>2.txt
复制代码

TOP

  1. @echo off
  2. set /p url=请输入URL链接:
  3. set "key=&idx="
  4. powershell -c "'%url%' -replace '%key%.*'"
  5. pause
复制代码
1

评分人数

TOP

回复 2# hfxiang
  1. set /p url=请输入URL链接:
  2. echo,"%url%" | sed "s/\&idx=.*$//;s/\"//g"
复制代码

TOP

buyiyang 发表于 2023-5-9 13:39



感谢您的帮助,我测试了,可以用。
但其实,我想将输出的结果作为变量在Chrome.exe中打开。请问如何将Powershell输出的结果作为变量,请帮我修改一下,下面的代码,再次表示感谢!
  1. @echo off
  2. echo.
  3. echo.
  4. set /p url=请输入URL链接:
  5. set "key=&idx="
  6. echo.
  7. echo.
  8. powershell -c "'%url%' -replace '%key%.*'"
  9. start "%ProgramFiles%\Google\Chrome\Application\Chrome.exe"  %NewURL%
  10. pause
复制代码

TOP

回复  thp2008

用“set /p url=请输入URL链接:”输入网址,暂时没想到解决方法。
但如果把网址保存为 ...
hfxiang 发表于 2023-5-9 13:34



    谢谢,我测试了可以用,没问题。只是需要第三方工具配合。

TOP

回复 4# buyiyang


    感谢!原来可以这样处理。

TOP

回复 5# thp2008
  1. for /f "delims=" %%i in ('powershell -c "'%url%' -replace '%key%.*'"') do set "newurl=%%i"
  2. start "" "%ProgramFiles%\Google\Chrome\Application\Chrome.exe" "%NewURL%"
复制代码

TOP

  1. @echo off
  2. echo.
  3. echo.
  4. set /p url=请输入URL链接:
  5. for /f "tokens=1" %%a in ("%url:&idx= %") do (
  6. start "%ProgramFiles%\Google\Chrome\Application\Chrome.exe" %%a
  7. )
  8. pause
复制代码
1

评分人数

bat小白,请多指教!谢谢!

TOP

回复 9# 77七


GOOD!

感谢大家的帮助,顺利解决,又学会了点。

TOP

返回列表