作为标题我试图弄清楚如何根据文件名将多个文件移动到基于文件名的唯一文件夹
例如,假设我有一个文件夹,其中包含来自我的房屋网络摄像头的图像,其名称如下:garden.bench.2013.image535.other.random.stuff.jpg
kids.swing.2013.image757.other.random.stuff.jpg
garage.2013.image563.other.random.stuff.jpg
front.garden.2013.image456.other.random.stuff.jpg
other.random.names.2013.image576.other.random.stuff.jpg
我想将“花园长凳”,“前花园”和“车库”图像移动到特定文件夹(比如C:\ webcam \ images)根据日期之前的位文件名这样:
C:\webcam\images\Garden Bench\garden.bench.2013.image535.other.random.stuff.jpg
C:\webcam\images\Front Garden\front.garden.2013.image456.other.random.stuff.jpg
C:\webcam\images\Garage\garage.2013.image563.other.random.stuff.jpg
希望我能解释这一点,这是可行的,可以在一行
编辑:atm我使用的代码如下:
move /Y garden.bench*.jpg "C:\webcam\images\Garden Bench\"
move /Y front.garden*.jpg "C:\webcam\images\Front Garden\"
move /Y garage*.jpg "C:\webcam\images\Garage\"
这个工作正常但是当你有20行看起来像这样并且想要更简单的1行方式时它非常混乱
答案 0 :(得分:0)
@echo off
:nextParam
set selector=%~1
if not defined selector goto :EOF
for %%f in (%selector: =.%.%date:-4%.*.jpg) do (
move /Y %%f "C:\webcam\images\%selector%\"
)
shift
goto nextParam
如果之前的批处理文件名为moveFiles.bat,那么移动文件的“1行”方式是:
moveFiles "Garden Bench" "Front Garden" Garage