Board logo

标题: [文件操作] 将多个子文件夹里的图片移动到同一个文件夹里并在文件名前添加原来文件夹的名称前缀 [打印本页]

作者: fashion600    时间: 2018-4-8 21:39     标题: 将多个子文件夹里的图片移动到同一个文件夹里并在文件名前添加原来文件夹的名称前缀

本帖最后由 pcl_test 于 2018-4-11 22:05 编辑

怎么批处理文件夹命名写入文件夹内图片中?图片不同格式
怎么把文件夹命名写入文件夹内图片中?
假设D盘有个文件夹名为“照片”,文件结构如下:
D:\照片
├─相集A
│ D6961.jpg
│ D6962.jepg
│ D6963.png
│ D6964.jpg
│ D6965.jepg

├─相集B
│ D6961.jpg
│ D6962.jepg
│ D6963.png
│ D6964.jpg
│ D6965.jepg

怎么把所有的图片都按文件夹重命名为 相集A-D6961.jpg,相集A-D6962.jepg... 相集A-D6963.png
请注意图片格式有的为jpg. 有的为jepg,有的为png

以下代码哪里还需要修改?

@echo off & setlocal enabledelayedexpansion
pushd "D:\Test\"
for /d %%a in (*) do (
    set n=1000
    for /f "delims=" %%b in ('dir /a-d /b /s "%%a\*.jpg"') do (
        set /a n+=1 & move "%%b" "%%a\%%a.!n:~1!%%~xb"
    )
)

编辑完之后如何把各个子目录里的图片移动到父目录里
请注意图片格式有的为jpg. 有的为jepg,有的为png
以下代码哪里还要修改

for /r %%a in (*.jpg) do move /y "%%a" "%%~dpa..\"

多谢大神!
作者: Batcher    时间: 2018-4-9 09:26

代码从哪里复制过来的,怎么都跑到一行去了。
作者: yhcfsr    时间: 2018-4-9 10:36

本帖最后由 yhcfsr 于 2018-4-9 10:55 编辑
  1. @echo off
  2. SET "path=D:\照片"
  3. set "cp=D:\照片\移动"
  4. cd /d "%path%"
  5. if not exist "%cp%" md "%cp%"
  6. for /d %%a in (*) do if /i not "%%~fa"=="%cp%" (
  7. pushd "%%a"
  8. for /f "delims=" %%b in ('dir /a-d/b') do move "%%b" "%cp%\%%a-%%~nxb"
  9. popd
  10. )
  11. pause
复制代码

作者: /zhqsystem/zhq    时间: 2018-4-9 20:03

本帖最后由 /zhqsystem/zhq 于 2018-4-9 20:12 编辑

for /f "delims=" %%i in ('dir/a-d/s/b ".\*.jpg"')do for /f "delims=" %%j in ("%%~fi\..")do (
ren "%%~fi" "%%~nxj%%~nxi"
move "%%~dpi%%~nxj%%~nxi" "%~dp0"
)
作者: fashion600    时间: 2018-4-11 21:11     标题: 怎么批处理文件夹命名写入文件夹内图片中?图片不同格式

本帖最后由 fashion600 于 2018-4-11 21:51 编辑

谢谢楼上二位!




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