Board logo

标题: [文件操作] [已解决]批处理如何把目标文件夹下的图片放入对应的文件夹內? [打印本页]

作者: liaoguinan    时间: 2023-5-17 14:41     标题: [已解决]批处理如何把目标文件夹下的图片放入对应的文件夹內?

本帖最后由 liaoguinan 于 2023-5-17 23:04 编辑


如何把图①里的图片根据文件夹名称前缀判断移动放入对应的图②文件夹内?

图③是未放入的目录样式
图④是放入后的样式。
如果图④文件夹内已有对应名称则不操作该名称图片

源文件图片是放在桌面新文件夹9
目标文件夹是放在桌面新文件夹8
作者: terse    时间: 2023-5-17 15:30

  1. @echo off&setlocal enabledelayedexpansion
  2. set "sou=新建文件夹 (9)"
  3. set "des=新建文件夹 (8)"
  4. for /f  "delims=" %%a in ('dir /a-d /b "%sou%"') do (
  5.      for /f  "delims=-" %%b in ("%%a") do (
  6.           md "%des%\%%b" 2>nul
  7.           copy "%sou%\%%a" "%des%\%%b"
  8.      )
  9. )
  10. pause
复制代码

作者: liaoguinan    时间: 2023-5-17 16:00

回复 2# terse


    测试了显示找不到文件?路径我是这样改的



@echo off&setlocal enabledelayedexpansion
set "sou=C:\Users\Administrator\Desktop\新建文件夹 (9)"
set "des=C:\Users\Administrator\Desktop\新建文件夹 (8)"
for /f  "delims=" %%a in ('dir /a-d /b "%sou%"') do (
     for /f  "delims=-" %%b in ("%%a") do (
          md "%des%\%%b" 2>nul
          copy "%sou%\%%a" "%des%\%%b"
     )
)
pause
作者: qixiaobin0715    时间: 2023-5-17 16:48

本帖最后由 qixiaobin0715 于 2023-5-17 16:59 编辑

批处理放在源文件夹和目标文件夹同一目录,并保存为ANSI编码:
  1. @echo off&setlocal enabledelayedexpansion
  2. set "sou=新建文件夹 (9)"
  3. set "des=新建文件夹 (8)"
  4. for /f "delims=" %%a in ('dir /ad /b "%des%"') do (
  5.     pushd "%sou%"
  6.     for /f "delims=" %%b in ('dir /a-d /b "%%a-*.jpg"') do (
  7.         if not exist "..\%des%\%%a\%%b" move "%%b" "..\%des%\%%a\"
  8.     )
  9.     popd
  10. )
  11. pause
复制代码
刚刚修改了代码
作者: terse    时间: 2023-5-17 17:51

回复 3# liaoguinan

保存为ANSI编码试试




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2