找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 20862|回复: 6

[文件操作] [已解决]批处理能实现每日添加新的网址到xml文件中吗?

[复制链接]
发表于 2021-5-20 11:07:53 | 显示全部楼层 |阅读模式
本帖最后由 任贤齐 于 2021-5-21 21:54 编辑

d盘a目录下有1000个html文件,以后每天增加200个,现在要生成站点地图并每天更新


xml文件如下
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
  3. <url>
  4. <loc>http://www.baidu.com/</loc>
  5. <changefreq>daily</changefreq>
  6. <priority>1.00</priority>
  7. </url>
  8. <url>
  9.     <loc>http://www.baidu.com/a.html</loc>
  10.     <changefreq>daily</changefreq>
  11.     <priority>0.8</priority>
  12.   </url>
  13. </urlset>
复制代码
以后每天运行批处理的时候只用在,</urlset>上面添加如下格式即可
  1. <url>
  2.     <loc>http://www.baidu.com/文件名</loc>
  3.     <changefreq>daily</changefreq>
  4.     <priority>0.8</priority>
  5.   </url>
  6. </urlset>
复制代码
先获取当前文件夹下的所有html文件名,然后组合成网址,添加到xml中</urlset>上面,第二天只用添加新增的

这用批处理能实现吗?求大神
发表于 2021-5-20 20:09:15 | 显示全部楼层
test.bat
  1. @powershell -c "Get-Content '%~0' | Select-Object -Skip 1 | Out-String | Invoke-Expression" & pause&exit
  2. $xml = @'
  3. <?xml version="1.0" encoding="utf-8"?>
  4. <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
  5.     <url>
  6.         <loc>http://www.baidu.com/</loc>
  7.         <changefreq>daily</changefreq>
  8.         <priority>1.00</priority>
  9.     </url>
  10.     {0}
  11. </urlset>
  12. '@
  13. $url = @'

  14.     <url>
  15.         <loc>http://www.baidu.com/{0}</loc>
  16.         <changefreq>daily</changefreq>
  17.         <priority>0.8</priority>
  18.     </url>
  19. '@
  20. $endl = "`r`n"
  21. $urls = ''
  22. Get-ChildItem '*.html' | foreach { $urls += $url -f $_.Name }
  23. $xml -f $urls | Out-File 'test.xml'
  24. 'test.xml'
复制代码

评分

参与人数 1技术 +1 收起 理由
任贤齐 + 1 谢谢大神 非常棒

查看全部评分

发表于 2021-5-21 12:36:22 | 显示全部楼层
可以
 楼主| 发表于 2021-5-21 16:38:01 | 显示全部楼层
回复 2# went


    激动知心无以言表,谢谢您的解答,好运常伴

在这基础上可以继续深化下  如果文件大于10M或添加的数量超过1W个,则生成test2(3)(4)(...).xml

我刚接触批处理,目前还是新手,谢谢大佬的指点
发表于 2021-5-21 21:41:02 | 显示全部楼层
回复 4# 任贤齐


    e......
    10M?
    10m=5个变量
 楼主| 发表于 2021-5-21 21:53:36 | 显示全部楼层
回复 5# 1152


    额 那不要10M了


数量超过1W个,则生成test2(3)(4)(...).xml

这样 应该在原有基础上怎么改 老大
发表于 2021-5-22 13:30:53 | 显示全部楼层
回复 6# 任贤齐


    我说的是10M的文件要5个变量解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 17:38 , Processed in 0.030552 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表