Board logo

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

作者: 任贤齐    时间: 2021-5-20 11:07     标题: [已解决]批处理能实现每日添加新的网址到xml文件中吗?

本帖最后由 任贤齐 于 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>上面,第二天只用添加新增的

这用批处理能实现吗?求大神
作者: went    时间: 2021-5-20 20:09

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'
复制代码

作者: 1152    时间: 2021-5-21 12:36

可以
作者: 任贤齐    时间: 2021-5-21 16:38

回复 2# went


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

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

我刚接触批处理,目前还是新手,谢谢大佬的指点
作者: 1152    时间: 2021-5-21 21:41

回复 4# 任贤齐


    e......
    10M?
    10m=5个变量
作者: 任贤齐    时间: 2021-5-21 21:53

回复 5# 1152


    额 那不要10M了


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

这样 应该在原有基础上怎么改 老大
作者: 1152    时间: 2021-5-22 13:30

回复 6# 任贤齐


    我说的是10M的文件要5个变量解决




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