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

[文件操作] [已解决]批处理如何根据文件名的部分字符串复制文件到以该字符串命名的文件夹里?

本帖最后由 pcl_test 于 2016-8-5 20:24 编辑

1.文件夹tupian里有很多图片
如 201501fsfsddf.jpg
    201501fsfsddf.jpg
    201502fsfsddf.jpg
    201502fsfsddf.jpg
    201503fsfsddf.jpg
    201504fsfsddf.jpg

2.文件夹backpic下有很多对应月份的文件夹
如 201501
     201502
     201503
     201504
     ......
     201512
现在我想把tupian文件夹下的图片按照名称前6位复制到backpic下对应名称的文件夹里面

回复 1# qq787851791
比如把201501fsfsdf.jpg都复制到201501这个文件夹下面

TOP

来人啊 自顶

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%a in (tupian\*.jpg) do (
  4.     set "fn=%%~na"
  5.     md "backpic\!fn:~,6!\" 2>nul
  6.     copy "%%a" "backpic\!fn:~,6!\"
  7. )
  8. pause
复制代码

TOP

for /l %%i in (201501 1 201512) do copy tupian\%%i*.jpg backpic\%%i\
1

评分人数

    • qq787851791: 乐于助人,虽然我不经常来这儿,但是真的非 ...技术 + 1

TOP

回复 4# pcl_test

@echo off
setlocal enabledelayedexpansion
for %%a in (D:\tupian\*.jpg) do (
    set "fn=%%~na"
    md "E:\backpic\!fn:~,6!\" 2>nul
    copy "%%a" "backpic\!fn:~,6!\"
)
pause

我改动了一下,加了指定盘,但是执行的时候报错:for此时不应有%%a,系统找不到指定文件,
    还有图片格式可能有好几种,png,jph等
麻烦帮忙改动一下

TOP

回复 5# WHY


    太给力了,兄弟~网络上多亏有你们这些热心助人的人,非常感谢,可以实现

TOP

回复 4# pcl_test

TOP

回复 5# WHY


    运行结果有问题,201501和201511的jpg文件都会复制到201501的文件夹里,如何修改才能解决呢?

TOP

回复 8# qq787851791

保存为批处理文件运行,不是把代码复制粘贴到cmd窗口运行

TOP

返回列表