将文件移动到基于文件名批处理脚本创建的新位置

阿菲

我有几个文件需要按月组织到由包含字符串和数字的文件名创建的新文件夹中。

示例文件:

Cycle2006_P.zip Cycle2307_P.zip Cycle2410_P.zip

结果:

Jun\Cycle2006_P.zip Jul\Cycle2307_P.zip Oct\Cycle2410_P.zip

这是我尝试过的。但结果是不同的。该脚本仅捕获 Cycle2410_P.zip 并仅创建 Oct 文件夹。

结果 :

Oct\Cycle2006_P.zip \Cycle2307_P.zip \Cycle2410_P.zip

@echo off

Set filename=D:\Users\AALADELA\Desktop\pbilsr01\*.zip*
For %%A in ("%filename%") do (
    Set Folder=%%~dpA
    Set Name=%%~nxA
)

REM get the 7th string from filename and set into %month% e.g. 06 = Jun
set month=%Name:~7,2%


if %month%==01 set currentmonthfolder=Jan
if %month%==02 set currentmonthfolder=Feb
if %month%==03 set currentmonthfolder=Mar
if %month%==04 set currentmonthfolder=Apr
if %month%==05 set currentmonthfolder=May
if %month%==06 set currentmonthfolder=Jun
if %month%==07 set currentmonthfolder=Jul
if %month%==08 set currentmonthfolder=Aug
if %month%==09 set currentmonthfolder=Sep
if %month%==10 set currentmonthfolder=Oct
if %month%==11 set currentmonthfolder=Nov
if %month%==12 set currentmonthfolder=Dec

:Move
@echo off
echo.
echo Move File to New Location
mkdir "D:\Users\AALADELA\Desktop\Backup\%currentmonthfolder%"
Move "D:\Users\AALADELA\Desktop\pbilsr01\*.zip*" "D:\Users\AALADELA\Desktop\Backup\%currentmonthfolder%" 

set RESULT=%ERRORLEVEL%
if %RESULT% equ 0 (
  echo.
  echo Success Move
  GOTO Copi
) else (
  echo Error. Retry. . . .
  TIMEOUT /T 5 >nul
  GOTO Move
)
pause
麻古
@echo off

SETLOCAL
:AGAIN
SET "NAME="

Set filename=D:\Users\AALADELA\Desktop\pbilsr01\*.zip*
For %%A in ("%filename%") do (
    Set Folder=%%~dpA
    Set Name=%%~nxA
)

IF NOT DEFINED NAME ECHO No files found&GOTO COPI

REM get the 7th string from filename and set into %month% e.g. 06 = Jun
set month=%Name:~7,2%


if %month%==01 set currentmonthfolder=Jan
if %month%==02 set currentmonthfolder=Feb
if %month%==03 set currentmonthfolder=Mar
if %month%==04 set currentmonthfolder=Apr
if %month%==05 set currentmonthfolder=May
if %month%==06 set currentmonthfolder=Jun
if %month%==07 set currentmonthfolder=Jul
if %month%==08 set currentmonthfolder=Aug
if %month%==09 set currentmonthfolder=Sep
if %month%==10 set currentmonthfolder=Oct
if %month%==11 set currentmonthfolder=Nov
if %month%==12 set currentmonthfolder=Dec

:Move
@echo off
echo.
echo Move File to New Location
mkdir "D:\Users\AALADELA\Desktop\Backup\%currentmonthfolder%"

REM    Move "D:\Users\AALADELA\Desktop\pbilsr01\*.zip*" "D:\Users\AALADELA\Desktop\Backup\%currentmonthfolder%" 
Move "D:\Users\AALADELA\Desktop\pbilsr01\%FOLDER%%NAME%" "D:\Users\AALADELA\Desktop\Backup\%currentmonthfolder%" 


set RESULT=%ERRORLEVEL%
if %RESULT% equ 0 (
  echo.
  echo Success Move

  REM      GOTO Copi
  GOTO AGAIN

) else (
  echo Error. Retry. . . .
  TIMEOUT /T 5 >nul
  GOTO Move
)
pause

我已经尝试修复您的例程 - 全大写的修改。REM如果更换,您的代码就会失效。

变化:

  1. 添加SETLOCAL以在例程完成时丢弃环境更改。

  2. 设置namenothing允许 test afterfor指示是否找到匹配的文件

  3. 检测是否找到文件。COPI如果没有,请留言并前往

  4. 将 ONE 文件移动到新位置 - 从%FOLDER%重建的音符名称%NAME%

  5. 成功后,转到AGAIN,不COPI处理下一个文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

批处理命令根据文件名创建文件夹并将文件/文件夹移动到创建的文件夹

来自分类Dev

Windows批处理脚本-将文件名读入变量

来自分类Dev

批处理脚本:根据源文件夹名称将文件移动到文件夹

来自分类Dev

基于文件名前几个文本的批处理移动文件

来自分类Dev

批处理文件以基于文件名移动Excel工作簿

来自分类Dev

批处理文件以基于文件名创建文件夹

来自分类Dev

批处理编程:基于修改的日期将文件移动到文件夹

来自分类Dev

Windows批处理脚本,以某种平衡的方式将XML文件移动到多个文件夹

来自分类Dev

Windows批处理脚本,以某种平衡的方式将XML文件移动到多个文件夹

来自分类Dev

批处理脚本将x个文件移动到空文件夹

来自分类Dev

Windows批处理-根据文件名和扩展名将文件移动到文件夹

来自分类Dev

bash可以基于文件名创建文件夹,然后将文件移动到文件夹中吗?

来自分类Dev

将文件名插入多个子文件夹中的文件的批处理脚本

来自分类Dev

根据批处理脚本中的文件名忽略文件

来自分类Dev

将文件夹中的每个文件移动到以该文件命名的自己的文件夹中的批处理脚本?

来自分类Dev

如何使用批处理脚本反复将最旧的文件移动到目录中?

来自分类Dev

批处理文件,用于根据文件名将文件移动到文件夹

来自分类Dev

用于制作新目录的批处理脚本,作为文件名的一部分命名并在其中移动文件

来自分类Dev

批处理脚本可根据当前的父名称将特定的子文件夹移动到新的父文件夹中

来自分类Dev

unix shell脚本,用于将文件名以固定的增量顺序移动到目录中

来自分类Dev

将文件移动到新位置,但忽略所有已锁定的文件并继续处理

来自分类Dev

使用 Windows 批处理脚本将多个文件从子文件夹移动到单个文件夹

来自分类Dev

如何创建批处理文件以特定方式将文件名放入.txt

来自分类Dev

如何通过批处理文件基于可变长度文件名创建文件夹

来自分类Dev

批处理脚本在带括号的文件名上失败

来自分类Dev

Windows批处理脚本以查找免费文件名

来自分类Dev

批处理脚本:选择包含多个点的文件名

来自分类Dev

Windows批处理脚本以查找免费文件名

来自分类Dev

使用批处理脚本在目录中获取文件名

Related 相关文章

  1. 1

    批处理命令根据文件名创建文件夹并将文件/文件夹移动到创建的文件夹

  2. 2

    Windows批处理脚本-将文件名读入变量

  3. 3

    批处理脚本:根据源文件夹名称将文件移动到文件夹

  4. 4

    基于文件名前几个文本的批处理移动文件

  5. 5

    批处理文件以基于文件名移动Excel工作簿

  6. 6

    批处理文件以基于文件名创建文件夹

  7. 7

    批处理编程:基于修改的日期将文件移动到文件夹

  8. 8

    Windows批处理脚本,以某种平衡的方式将XML文件移动到多个文件夹

  9. 9

    Windows批处理脚本,以某种平衡的方式将XML文件移动到多个文件夹

  10. 10

    批处理脚本将x个文件移动到空文件夹

  11. 11

    Windows批处理-根据文件名和扩展名将文件移动到文件夹

  12. 12

    bash可以基于文件名创建文件夹,然后将文件移动到文件夹中吗?

  13. 13

    将文件名插入多个子文件夹中的文件的批处理脚本

  14. 14

    根据批处理脚本中的文件名忽略文件

  15. 15

    将文件夹中的每个文件移动到以该文件命名的自己的文件夹中的批处理脚本?

  16. 16

    如何使用批处理脚本反复将最旧的文件移动到目录中?

  17. 17

    批处理文件,用于根据文件名将文件移动到文件夹

  18. 18

    用于制作新目录的批处理脚本,作为文件名的一部分命名并在其中移动文件

  19. 19

    批处理脚本可根据当前的父名称将特定的子文件夹移动到新的父文件夹中

  20. 20

    unix shell脚本,用于将文件名以固定的增量顺序移动到目录中

  21. 21

    将文件移动到新位置,但忽略所有已锁定的文件并继续处理

  22. 22

    使用 Windows 批处理脚本将多个文件从子文件夹移动到单个文件夹

  23. 23

    如何创建批处理文件以特定方式将文件名放入.txt

  24. 24

    如何通过批处理文件基于可变长度文件名创建文件夹

  25. 25

    批处理脚本在带括号的文件名上失败

  26. 26

    Windows批处理脚本以查找免费文件名

  27. 27

    批处理脚本:选择包含多个点的文件名

  28. 28

    Windows批处理脚本以查找免费文件名

  29. 29

    使用批处理脚本在目录中获取文件名

热门标签

归档