我有根据用户需求执行的代码。它会查找C:\test\test\test
其中包含单词的所有文件夹part
并对其进行处理。
set num=0
cd /d "C:\test\test\test"
for /f "delims=" %%a in ('dir *part* /b /ad /ODN ') do (
REM - New Funcations
mkdir "tempgroup" && set name=%%a && ren "tempgroup" "!name:~0,-9!- GROUP VIDEO"
move %%a
GOTO NEXT
)
我想扩展功能,但是花了很多时间却没有得到想要的结果。
首先%%a
=2014-07-18 13h44m10s - Part 1
复制文件夹名称并重命名2014-07-18 13h44m10s - Part 1
为2014-07-18 13h44m10s - GROUP VIDEO
,而无需创建临时目录tempgroup
。这样做的原因是,tempgroup
如果再次执行脚本,将阻止创建文件夹。
将包含单词的所有文件夹PART
移入2014-07-18 13h44m10s - GROUP VIDEO
这是文件夹列表以及它的外观:
2014-07-18 13h44m10s - Part 1 2014-07-18 13h45m10s - Part 2 2014-07-18 13h46m20s - Part 3 2014-07-18 13h47m32s - Part 4 2014-07-18 13h48m10s - Part 5 2014-07-18 13h48m20s - Part 6 2014-07-18 13h48m30s - Part 7 2014-07-18 13h48m40s - Part 8 2014-07-18 13h49m50s - Part 9
上面的文件夹应该移到该文件夹中
2014-07-18 13h44m10s - GROUP VIDEO
提前致谢
以下批处理代码将部分名称中的所有子目录中的所有文件(但不包括其子目录)复制到名称为-GROUP VIDEOS的目录中,该名称追加到名称部分中的第一个目录的日期/时间字符串中。
@echo off
setlocal enabledelayedexpansion
cd /d "C:\test\test\test"
set GroupVideoDirectory=
for /f "delims=" %%a in ('dir *part* /b /ad /ODN ') do (
set "DirName=%%a"
if "!GroupVideoDirectory!"=="" (
set "GroupVideoDirectory=!DirName:~0,-9! - GROUP VIDEO"
if not exist "!GroupVideoDirectory!" mkdir "!GroupVideoDirectory!"
)
copy /Y "%%a\*.*" "!GroupVideoDirectory!" >nul
)
endlocal
换句话说,子目录中的所有文件
复制到目录2014-07-18 13h44m10s-此批处理文件创建的GROUP VIDEO(如果尚不存在)(例如,从先前的运行中获得)。
下一个批处理代码将文件移动到创建的目录中,并删除名称部分的目录。
@echo off
setlocal enabledelayedexpansion
cd /d "C:\test\test\test"
set GroupVideoDirectory=
for /f "delims=" %%a in ('dir *part* /b /ad /ODN ') do (
set "DirName=%%a"
if "!GroupVideoDirectory!"=="" (
set "GroupVideoDirectory=!DirName:~0,-9! - GROUP VIDEO"
if not exist "!GroupVideoDirectory!" mkdir "!GroupVideoDirectory!"
)
move /Y "%%a\*.*" "!GroupVideoDirectory!" >nul
rd "%%a"
)
endlocal
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句