2

我有一组来自名为“IMG0001”、“IMG0002”的相机的图像......我想将所有奇数图像移动到另一个文件夹。

如何使用批处理脚本来实现这一点?

是否可以编写一个脚本来接受不共享公共前缀或相同数字填充的文件名?

4

4 回答 4

2

如果文件名符合 8.3 约定(基本名称 <=8 个字符,无空格),则以下内容将从命令行运行(如果在批处理文件中使用,则将百分比加倍)。

for %F in (*1.jpg *3.jpg *5.jpg *7.jpg *9.jpg) do move "%%F" "newLocation\"

但是,如果名称很长或包含空格,上述方法可能不起作用,因为长名称可能有一个以奇数或偶数结尾的短名称对应物。DIR 和 FOR 在执行模式匹配时会同时查看长名称和短名称。

这样就留下了kirilloid 解决方案的改进版本,可以适应不使用临时文件。这种改编也适用于名称中的空格、大小写混合、文件名中的 .jpg 以及扩展名等。

for /f "eol=: delims=" %F in ('dir /b /a-d *.jpg^|findstr /irc:"[13579]\.jpg$"') do move "%F" "newLocation"
于 2012-08-03T22:25:38.183 回答
1

示例+ findstr/正则表达式:

DIR /B -D *.jpg | findstr "[02468][.]jpg" > %TEMP%\DIR.LST
FOR /F %%f IN (%TEMP%\DIR.LST) DO (
move %%f new_dir
)
DEL DIR.LST

如果有人能告诉我,我会很高兴,如何在没有 tmp 文件的情况下做到这一点。在 linux 上,我习惯使用xargs反引号。

于 2012-08-03T21:25:20.460 回答
0

假设您只想获取标题字符串的整数部分,您必须对其进行正则表达式并仅保留数字,然后检查模数 2 是否返回真或假,然后您可以移动它

于 2012-08-03T21:12:59.673 回答
-1

Here's the very non-tech method:

Arrange your files in window, sorted by name, with thumbnails.

Size your window so the the thumbnails fall into two columns.

Use your mouse to window-select only one column.

I have done exactly this with Windows 7.

There is a YouTube video someone made showing this for an older Windows version: http://www.youtube.com/watch?v=3Kr2sTzpFY4

于 2014-06-04T14:49:22.770 回答