2012-08-03 113 views
3

我有一個名爲「IMG0001」,「IMG0002」等相機的圖像集,我想將所有奇數編號的圖像移動到另一個文件夾。將所有奇數編號的文件移動到一個文件夾中

如何使用批處理腳本實現此目的?

是否可以編寫接受不共用前綴或數字填充的文件名的腳本?

回答

2

如果文件名符合8.3約定(基本名稱< = 8個字符,不包含空格),則以下命令行將起作用(如果在批處理文件中使用百分比,則將其翻倍)。

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

但上面可能無法正常工作,如果名稱是長或包含空格,因爲長文件名可以有一個簡短的名稱對應的是與奇數或偶數結束。執行模式匹配時,DIR和FOR都會查看長名和短名。

因此,可以修改爲不使用臨時文件的kirilloid's solultion的改進版本。這種調整也將與名稱,大小寫混合的空間工作,文件名的.jpg以及擴展等

for /f "eol=: delims=" %F in ('dir /b /a-d *.jpg^|findstr /irc:"[13579]\.jpg$"') do move "%F" "newLocation" 
0

假設你只想得到你的標題字符串的整數部分,你必須正則表達式,並只保留號碼,然後檢查是否模數2返回true或false,那麼你可以將它

1

example + 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 

我會很高興,如果有人會告訴我,該怎麼做W/O tmp文件。在linux上我習慣了xargs和反引號。

+0

+1,但看到[我的回答(HTTP:/ /stackoverflow.com/a/11804098/1012053)。除了臨時文件小的不便之外,如果名稱包含空格,大寫字母.JPG,或者如果.jpg名稱中出現多次,則答案會有問題。所有固定與小調整。 – dbenham 2012-08-03 22:30:09

0

這裏是非常非技術方法:

安排在窗口中的文件,按名稱排序,縮略圖。

調整窗口大小,使縮略圖分成兩列。

使用鼠標點擊窗口 - 只選擇一列。

我也正是這樣做與Windows 7

有一個YouTube視頻有人做這顯示了一個較舊的Windows版本: http://www.youtube.com/watch?v=3Kr2sTzpFY4

+0

這裏不是一個真正的批處理腳本。 – grattmandu03 2014-06-04 15:09:16

+0

兩列很有創意,但它假設文件名沒有空白。 – MxyL 2014-06-04 15:10:03

+0

請原諒我忽略這是批量文件的請求。我曾經用QBasic可執行文件來做這類事情,我會立即創建這些可執行文件。我到達這個主題尋找一個更簡單的方法來做到這一點,當我發現這個非腳本解決方案時,我回來分享它,以防其他人重複我的過程。 僅供參考對我來說,通過製作窗口三列,一個人可以選擇3的倍數。您基本上使用GUI界面以幾何形式對整數進行排序。 – user3707570 2014-06-05 15:07:42

相關問題