天真的小白鼠 发表于 2023-3-29 17:19

BAT代码求助大神们

拍摄的照片是以.CR2+.JPG来保存的,回来选照片的时候也是根据.JPG来选择需要的.CR2照片来进行后期处理,对着JPG选CR2一张一张选择很慢,所以看看有没有批处理的方式,也就是批量选出JPG与CR2同名的文件,然后放到一个新的文件夹中。希望懂BAT批处理的朋友指导一下,是需要那种可以设置根目录目标源的那种

lieyanqzu 发表于 2023-3-29 18:00

set source_path=.
set dest_path=.
cd /d %source_path%
for %%i in (*.jpg) do (
if exist "%%~ni.cr2" (
    md "%dest_path%\%%~ni"
    copy "%%~ni.CR2" "%dest_path%\%%~ni\"
    copy "%%~ni.JPG" "%dest_path%\%%~ni\"
)
)

WuYule 发表于 2023-3-29 18:24

我还以为是那个BAT公司{:301_998:}

wszjf 发表于 2023-3-29 18:38

具体情况不是很了解,目测按类型排序能分出来

hhtwy 发表于 2023-3-29 19:30

1.建一个Excel,JPG格式照片文件名复制到Excel表A列中。
2.根据A列数据在B列中写一个copy函数。
3.新建一个纯文本文件,把B列中的内容复制到纯文本中。
4.把纯文本文件的扩展名改成bat。
5.把bat文件和CR2文件放入同一个文件夹,在该文件中建一个新文件夹取名OK
6.运行一下bat文件。

我写了一个Excel函数
https://wwrh.lanzoul.com/i77eR0rf2jcb
密码:fbcj

siegod 发表于 2023-3-29 19:41

本帖最后由 siegod 于 2023-3-29 19:53 编辑

```
@echo off
setlocal enabledelayedexpansion

rem 设置源目录和目标目录
set source_directory=C:\path\to\source\directory
set target_directory=C:\path\to\target\directory

rem 遍历源目录中的所有.CR2文件
for /r "%source_directory%" %%f in (*.cr2) do (
    rem 获取.CR2文件的文件名,不包括扩展名
    set base_filename=%%~nf
    rem 检查是否存在同名的.JPG文件
    if exist "%%~dpf!base_filename!.jpg" (
      rem 如果存在,将.JPG和.CR2文件移动到目标目录
      copy "%%~dpf!base_filename!.jpg" "%target_directory%"
      copy "%%f" "%target_directory%"
    )
)

echo Done!
```

天真的小白鼠 发表于 2023-3-30 08:25

大佬们   bat打不开呀   一闪而过裂开:'(weeqw

jamescookers988 发表于 2023-5-20 01:29

天真的小白鼠 发表于 2023-3-30 08:25
大佬们   bat打不开呀   一闪而过裂开

你在命令行里面打开啊!
页: [1]
查看完整版本: BAT代码求助大神们