[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. for /F "tokens=1* delims=|" %%a in (D:\a.txt) do for /F "tokens=1*" %%c in ("%%a") do call:hanye %%c\%%d %%b
  3. goto :eof
  4. :hanye
  5. if not exist "D:\images\%1" md "D:\images\%1"
  6. if not "%2"=="" copy "D:\images\%2" "D:\images\%1">nul&shift/2&goto hanye
复制代码
要求:
1,a.txt 中文件目录与文件名使用 | 分隔
2,目录名及文件名中不能有空格
3,a.txt 示例如下:
aaa bbb | a.jpg b.jpg c.jpg
aaa | d.jpg

TOP

原帖由 daohe 于 2010-4-5 00:40 发表
按2楼要求修改后,测试没任何变化,测试不成功!


测试代码:
@echo off
echo 测试1标记>1.txt
dir D:\images /b /s /a>>1.txt
call shili.bat
echo 测试2标记>>1.txt
dir D:\images /b /s /a>>1.txt


返回信息:
测试1标记
D:\images\a.jpg
D:\images\b.jpg
D:\images\c.jpg
D:\images\d.jpg
D:\images\e.jpg
D:\images\f.jpg
测试2标记
D:\images\a.jpg
D:\images\aaa
D:\images\b.jpg
D:\images\c.jpg
D:\images\d.jpg
D:\images\e.jpg
D:\images\f.jpg
D:\images\aaa\bbb
D:\images\aaa\d.jpg
D:\images\aaa\bbb\a.jpg
D:\images\aaa\bbb\b.jpg
D:\images\aaa\bbb\c.jpg

原帖由 sgaizxt001 于 2010-4-5 09:05 发表
2楼的代码错无没有将“|”转义,如果不转义的话,会被CMD理解为管道符

delims=中允许使用 | 。


原帖由 sgaizxt001 于 2010-4-5 09:16 发表
不过他的代码我没测试,不知道怎么样。
我觉得用  if not /i "!str~-3!" == "jpg" 来判断是否md还是copy的话应该可以不用添加|。


不使用字符串检测可以忽略 a.txt 中的文件类型

TOP

原帖由 daohe 于 2010-4-5 15:56 发表
2楼测试结果还是不对
2342

在看看,谢谢!


写出你是什么系统的,
贴上你的批处理脚本和a.txt

TOP

奇怪了,他在这里运行正常呀

TOP

返回列表