[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 【已解决】批处理如何把带有关键字的文件夹移动到其它带有关键字的文件夹中?

本帖最后由 toyerspollors 于 2021-1-11 19:55 编辑

比如当前目录下有大量这样的文件夹
35 photo-from-video-11
67 photo-from-video-35
84 photo-from-video-03
96 photo-from-video-27
156 photo-from-video-18
162 photo-from-video-56

我想编写为把当前路径下带有关键字from-video的文件夹,移动到D:\22\DAY\08 MM-VIDEO-02\目录下,但是08 MM-VIDEO-02这个目录我也想编写为带有关键字MM-VIDEO的路径,不知道如何编写,求教各位老师!

受教了.......

如果在本地路径下我要移动的不是文件夹,而是以下的文件,这个编码又该怎么修改。

35 photo-from-video-11.mp4
67 photo-from-video-35.mp4
84 photo-from-video-03.mp4
96 photo-from-video-27.mp4
156 photo-from-video-18.mp4
162 photo-from-video-56.mp4

TOP

回复 3# Batcher


    受教了.......

如果在本地路径下我要移动的不是文件夹,而是以下的文件,这个编码又该怎么修改。

35 photo-from-video-11.mp4
67 photo-from-video-35.mp4
84 photo-from-video-03.mp4
96 photo-from-video-27.mp4
156 photo-from-video-18.mp4
162 photo-from-video-56.mp4

TOP

本帖最后由 toyerspollors 于 2021-1-10 21:25 编辑

谢谢!学到了一些东西,虽然还不是很懂,哈哈!


第6行的代码       set "DstFolder=%FolderDir%\%%i"
能稍微解释一下原理吗?

TOP

回复 8# Batcher

set "DstFolder=%FolderDir%\%%i"

前面的%FolderDir%是不是代表D:\22\DAY
后面的\%%i 暂时不懂理解代表什么,是D:\22\DAY\*MM-VIDEO*的意思吗?

我是初学者,很多东西还不理解,如果问题不好解说也没关系,可能以后学习的东西多了我就懂理解了。

TOP

谢谢指导,我先研究一下代码,有不懂的再来向你学习。

TOP

回复 3# Batcher



老师,以下代码是你3楼的代码,我也按你的要求把8楼的代码加到了第6行上面,另外我在最前面加了3个创建文件夹的代码,  
但是运行bat没反应。。不知道怎么回事。请指导一下,谢谢!  

@echo off

md "31 photo-from-video-77"
md "64 photo-from-video-23"
md D:\22\DAY\"77MM-VIDEO-56"

cd /d "%~dp0"
set "FolderKey=MM-VIDEO"
set "FolderDir=D:\22\DAY"
for /f "delims=" %%i in ('dir /b /ad "%FolderDir%\*%FolderKey%*"') do (
echo "DstFolder=%FolderDir%\%%i"
    set "DstFolder=%FolderDir%\%%i"
)
for /d %%i in (*from-video*) do (
    move /y "%%i" "%DstFolder%\"
)


另外如果我想用BAT创建以下文件夹,红色部分的代码如何编写才能成功。
md D:\22\DAY\"77MM-VIDEO(HD)-56"\

TOP

回复 13# Batcher


谢谢老师,原来是我保存bat的时候,编码格式没有选择正确。现在可以正确运行了。

另外想了解一下老师最后移动的代码中写move /y  为什么我再次移动相同的目录会提示选择是否覆盖,而不是强行覆盖呢?

TOP

回复 6# Batcher


老师,我想实现把带有关键字的文件移动到带有关键字的文件夹中,已按照你提示修改了下方红色字体部分,但是没起作用,代码如下。

@echo off

echo >"31 photo-from-video-77.mp4"
echo >"64 photo-from-video-23.mp4"
md .\22\DAY\"77 MM-VIDEO-56"

cd /d "%~dp0"
set "FolderKey=MM-VIDEO"
set "FolderDir=.\22\DAY"
for /f "delims=" %%i in ('dir /b /a-d "%FolderDir%\*%FolderKey%*"') do (
    set "DstFolder=%FolderDir%\%%i"
)
for /d %%i in (*from-video*) do (
    move /y "%%i" "%DstFolder%\"
)

pause

TOP

返回列表