标题: [文本处理] 【已解决】求助修改BAT脚本自动复制文件 [打印本页]
作者: 3537589 时间: 2023-12-23 15:50 标题: 【已解决】求助修改BAT脚本自动复制文件
本帖最后由 3537589 于 2023-12-24 17:06 编辑
复制代码
这个bat 文本是自动复制文件名。
001.jpg
002.jpg
003.jpg
004.jpg
这四张图片执行这个bat 命令
格式如下- 001.jpg
- 002.jpg
- 003.jpg
- 004.jpg
- list.txt
复制代码
能改成生成这样格式文件么。中间加个空行。一头一尾加固定东西- [img]http://www.bathome.net/images/001.jpg[/img]
-
- [img]http://www.bathome.net/images/002.jpg[/img]
-
- [img]http://www.bathome.net/images/003.jpg[/img]
-
- [img]http://www.bathome.net/images/004jpg[/img]
-
- [img]http://www.bathome.net/images/list.txt[/img]
复制代码
作者: thp2008 时间: 2023-12-23 16:52
本帖最后由 thp2008 于 2023-12-23 16:53 编辑
保存为ANSI编码:- @echo off
- setlocal enabledelayedexpansion
-
- set "output=url.txt"
-
- echo ^<html^> > %output%
- echo ^<body^> >> %output%
-
- for %%F in (*) do (
- echo [img]http://www.bathome.net/images/%%~nxF[/img] >> %output%
- echo. >> %output%
- )
-
- echo ^</body^> >> %output%
- echo ^</html^> >> %output%
-
- echo 批处理已完成,结果保存为%output%
复制代码
作者: 3537589 时间: 2023-12-23 17:39
回复 2# thp2008
谢谢。一头一尾 添加的东西好像有限制 < " 带这些字符好像不行。还是谢谢了
作者: 77七 时间: 2023-12-23 17:48
- @echo off
- rem 批处理保存为ansi编码格式
-
- set output=list.txt
-
- (for /f "delims=" %%i in ('dir /b /a-d') do (
- if "%%~nxi" neq "%output%" (
- if "%%~nxi" neq "%~nx0" (
- echo [img]http://www.bathome.net/images/%%~nxi[/img]
- echo=
- )
- )
- ))>"%output%"
- pause
复制代码
作者: Batcher 时间: 2023-12-23 21:56
回复 3# 3537589
特殊字符是需要转义的,需要加什么就说,不要假设。
作者: 3537589 时间: 2023-12-24 13:22
回复 5# Batcher
老大说的是,以为随便替换就可以
这样格式的。- <img class="aligncenter" src="http://www.bathome.net/images/001.jpg" alt="" />
-
- <img class="aligncenter" src="http://www.bathome.net/images/002.jpg" alt="" />
-
- <img class="aligncenter" src="http://www.bathome.net/images/003.jpg" alt="" />
-
- <img class="aligncenter" src="http://www.bathome.net/images/004.jpg" alt="" />
复制代码
< " 里面有这些字符。不行
作者: aloha20200628 时间: 2023-12-24 14:52
本帖最后由 aloha20200628 于 2023-12-24 15:10 编辑
回复 6# 3537589
以下代码用6楼提供的样本测试通过- @echo off &setlocal enabledelayedexpansion
- set "s=<img class="aligncenter^" src=^"http://www.bathome.net/images/@^" alt=^"^" /^>"
- (for %%v in (001.jpg 002.jpg 003.jpg 004.jpg list.txt) do echo,!s:@=%%v!&echo,)>out.xml
复制代码
或者换以下版本亦可- @echo off &setlocal enabledelayedexpansion
- set s=^<img class="aligncenter" src=^"http://www.bathome.net/images/@^" alt=^"^" /^>
- (for %%v in (001.jpg 002.jpg 003.jpg 004.jpg list.txt) do echo,!s:@=%%v!&echo,)>out.xml
复制代码
作者: 3537589 时间: 2023-12-24 15:17
本帖最后由 3537589 于 2023-12-24 15:21 编辑
回复 7# aloha20200628 - (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 这个能不能 不要把格式固定死 设置成 *.*
作者: aloha20200628 时间: 2023-12-24 16:35
回复 8# 3537589
假设 list.txt 中是如下内容:
001.jpg
002.jpg
003.jpg
004.jpg
可用如下代码,再将掩码字符 @ 换成ANSI字符集中较不常用的字符 ◆ 会更稳妥吧。- @echo off &setlocal enabledelayedexpansion
- set s=^<img class="aligncenter" src=^"http://www.bathome.net/images/◆^" alt=^"^" /^>
- (for /f "delims=" %%v in (list.txt) do echo,!s:◆=%%v!&echo,)>out.xml
复制代码
作者: 3537589 时间: 2023-12-24 16:38
本帖最后由 3537589 于 2023-12-24 17:08 编辑
谢谢全部楼上的。
通过楼上代码喂养gpt
修改了自己要的结果。- @echo off & setlocal enabledelayedexpansion
-
- set "s=<img class="aligncenter" src="http://www.bathome.net/images/@^" alt=^"^" /^>"
- (for %%v in (*.*) do echo,!s:@=%%v!&echo,)>out.txt
复制代码
作者: 77七 时间: 2023-12-24 17:23
- @echo off
- rem 批处理保存为ansi编码格式
-
- set output=list.txt
-
- (for /f "delims=" %%i in ('dir /b /a-d') do (
- if "%%~nxi" neq "%output%" (
- if "%%~nxi" neq "%~nx0" (
- echo ^<img class="aligncenter" src="http://www.bathome.net/images/%%~nxi" alt="" /^>
- echo=
- )
- )
- ))>"%output%"
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |