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

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

[复制链接]
发表于 2023-12-23 15:50:23 | 显示全部楼层 |阅读模式
本帖最后由 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]
复制代码

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2023-12-23 16:52:40 | 显示全部楼层
本帖最后由 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%
复制代码
 楼主| 发表于 2023-12-23 17:39:43 | 显示全部楼层
回复 2# thp2008
谢谢。一头一尾 添加的东西好像有限制 < "  带这些字符好像不行。还是谢谢了
发表于 2023-12-23 17:48:56 | 显示全部楼层
  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
复制代码
发表于 2023-12-23 21:56:38 | 显示全部楼层
回复 3# 3537589


    特殊字符是需要转义的,需要加什么就说,不要假设。
 楼主| 发表于 2023-12-24 13:22:54 | 显示全部楼层
回复 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="" />
复制代码
< "  里面有这些字符。不行
发表于 2023-12-24 14:52:46 | 显示全部楼层
本帖最后由 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
复制代码
 楼主| 发表于 2023-12-24 15:17:59 | 显示全部楼层
本帖最后由 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 这个能不能 不要把格式固定死 设置成 *.*
发表于 2023-12-24 16:35:00 | 显示全部楼层
回复 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技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2023-12-24 16:38:07 | 显示全部楼层
本帖最后由 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
复制代码
发表于 2023-12-24 17:23:10 | 显示全部楼层
  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技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 06:34 , Processed in 0.032962 second(s), 14 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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