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

[文本处理] 【已解决】求助修改BAT脚本自动复制文件

本帖最后由 3537589 于 2023-12-24 17:06 编辑
  1. Dir *.* /b >list.txt
复制代码
这个bat 文本是自动复制文件名。

001.jpg
002.jpg
003.jpg
004.jpg
这四张图片执行这个bat 命令
格式如下
  1. 001.jpg
  2. 002.jpg
  3. 003.jpg
  4. 004.jpg
  5. list.txt
复制代码
能改成生成这样格式文件么。中间加个空行。一头一尾加固定东西
  1. [img]http://www.bathome.net/images/001.jpg[/img]
  2. [img]http://www.bathome.net/images/002.jpg[/img]
  3. [img]http://www.bathome.net/images/003.jpg[/img]
  4. [img]http://www.bathome.net/images/004jpg[/img]
  5. [img]http://www.bathome.net/images/list.txt[/img]
复制代码
1

评分人数

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

本帖最后由 thp2008 于 2023-12-23 16:53 编辑

保存为ANSI编码:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "output=url.txt"
  4. echo ^<html^> > %output%
  5. echo ^<body^> >> %output%
  6. for %%F in (*) do (
  7.     echo [img]http://www.bathome.net/images/%%~nxF[/img] >> %output%
  8.     echo. >> %output%
  9. )
  10. echo ^</body^> >> %output%
  11. echo ^</html^> >> %output%
  12. echo 批处理已完成,结果保存为%output%
复制代码

TOP

回复 2# thp2008
谢谢。一头一尾 添加的东西好像有限制 < "  带这些字符好像不行。还是谢谢了

TOP

  1. @echo off
  2. rem 批处理保存为ansi编码格式
  3. set output=list.txt
  4. (for /f "delims=" %%i in ('dir /b /a-d') do (
  5. if "%%~nxi" neq "%output%" (
  6. if "%%~nxi" neq "%~nx0" (
  7. echo [img]http://www.bathome.net/images/%%~nxi[/img]
  8. echo=
  9. )
  10. )
  11. ))>"%output%"
  12. pause
复制代码
bat小白,请多指教!谢谢!

TOP

回复 3# 3537589


    特殊字符是需要转义的,需要加什么就说,不要假设。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 5# Batcher
老大说的是,以为随便替换就可以
   
这样格式的。
  1. <img class="aligncenter" src="http://www.bathome.net/images/001.jpg" alt="" />
  2. <img class="aligncenter" src="http://www.bathome.net/images/002.jpg" alt="" />
  3. <img class="aligncenter" src="http://www.bathome.net/images/003.jpg" alt="" />
  4. <img class="aligncenter" src="http://www.bathome.net/images/004.jpg" alt="" />
复制代码
< "  里面有这些字符。不行

TOP

本帖最后由 aloha20200628 于 2023-12-24 15:10 编辑

回复 6# 3537589

以下代码用6楼提供的样本测试通过
  1. @echo off &setlocal enabledelayedexpansion
  2. set "s=<img class="aligncenter^" src=^"http://www.bathome.net/images/@^" alt=^"^" /^>"
  3. (for %%v in (001.jpg 002.jpg 003.jpg 004.jpg list.txt) do echo,!s:@=%%v!&echo,)>out.xml
复制代码
或者换以下版本亦可
  1. @echo off &setlocal enabledelayedexpansion
  2. set s=^<img class="aligncenter" src=^"http://www.bathome.net/images/@^" alt=^"^" /^>
  3. (for %%v in (001.jpg 002.jpg 003.jpg 004.jpg list.txt) do echo,!s:@=%%v!&echo,)>out.xml
复制代码

TOP

本帖最后由 3537589 于 2023-12-24 15:21 编辑

回复 7# aloha20200628
  1. (for %%v in (001.jpg 002.jpg 003.jpg 004.jpg list.txt) do echo,!s:@=%%v!&echo,)>out.xml
复制代码
001.jpg 002.jpg 003.jpg 004.jpg 这个能不能 不要把格式固定死 设置成 *.*

TOP

回复 8# 3537589

假设 list.txt 中是如下内容:
001.jpg
002.jpg
003.jpg
004.jpg
可用如下代码,再将掩码字符 @ 换成ANSI字符集中较不常用的字符 ◆ 会更稳妥吧。
  1. @echo off &setlocal enabledelayedexpansion
  2. set s=^<img class="aligncenter" src=^"http://www.bathome.net/images/◆^" alt=^"^" /^>
  3. (for /f "delims=" %%v in (list.txt) do echo,!s:◆=%%v!&echo,)>out.xml
复制代码
1

评分人数

TOP

本帖最后由 3537589 于 2023-12-24 17:08 编辑

谢谢全部楼上的。
通过楼上代码喂养gpt


修改了自己要的结果。
  1. @echo off & setlocal enabledelayedexpansion
  2. set "s=<img class="aligncenter" src="http://www.bathome.net/images/@^" alt=^"^" /^>"
  3. (for %%v in (*.*) do echo,!s:@=%%v!&echo,)>out.txt
复制代码

TOP

  1. @echo off
  2. rem 批处理保存为ansi编码格式
  3. set output=list.txt
  4. (for /f "delims=" %%i in ('dir /b /a-d') do (
  5. if "%%~nxi" neq "%output%" (
  6. if "%%~nxi" neq "%~nx0" (
  7. echo ^<img class="aligncenter" src="http://www.bathome.net/images/%%~nxi" alt="" /^>
  8. echo=
  9. )
  10. )
  11. ))>"%output%"
  12. pause
复制代码
1

评分人数

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

TOP

返回列表