(BAT批处理)用文件名批量创建文件夹,然后将文件移动进去的批处理命令?

主要为将电影文件进行归类,一个文件夹下有许多电影文件,文件名均为:
【电影1.1994.xxx.xxx.xxx.mkv】
【电影2.2004.xxx.xxx.xxx.mp4】

【电影1.mkv】
【电影2.mp4】

诉求:通过批处理命令实现批量建立文件夹并移动文件:
1.每个文件创建一个文件夹,文件夹名为电影1、电影2,如果不好实现也可与文件完全同名。
2.将文件移动到相应的文件夹内。

不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行

@echo off&cd /d "%~dp0"&mode con lines=5000
rem 根据文件名称创建文件夹,并把文件放入/剪切/移动到对应文件夹里
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
for /f "delims=" %%a in ('dir /a-d-h/b') do (
    if /i "%%~nxa" neq "%~nx0" (
        for /f "delims=." %%b in ("%%~na") do (
            if not exist "%%~b\" md "%%~b\"
            echo;"%%~a" --^> "%%~b\"
            move "%%~a" "%%~b\"
        )
    )
)
echo;%#% +%$%%$%/%_% %z%
pause
exit

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 可以使用以下BAT程序: @echo off for %%f in (*.txt) do ( set "file=%%~nf" set "dir=%%~pf" set "dir=!dir:~0,-1!" if "!file:~0,7!"=="!dir:~0,7!" ( move "%%f" "!dir!" ) ) ### 回答2: 你可以使用以下的批处理程序来实现将文件移动文件的功能: ```batch @echo off setlocal enabledelayedexpansion set "folder=C:\目标文件的路径" for %%I in (*.*) do ( set "filename=%%~nI" set "filepath=%%~dpI" set "foldername=%%~pI" if "!filename!"=="!foldername!" ( move "!filepath!%%I" "!folder!" ) ) echo 文件移动完成。 pause ``` 请注意,你需要将程序中的`C:\目标文件的路径`替换成你想要移动文件的目标文件的实际路径。 程序首先会将目标文件的路径存储在`folder`变量中。然后通过一个循环遍历当前目录中的所有文件。对于每个文件,程序会将文件名文件路径和文件名分别存储在`filename`、`filepath`和`foldername`变量中。然后,它会检查文件名是否与文件名相同。如果相同,则使用`move`命令文件移动到目标文件中。 最后,程序会显示文件移动完成的消息,并等待用户按下任意键退出。 这个程序可以将当前目录中文件名文件名相同的文件移动到指定的目标文件中。 ### 回答3: 可以使用如下的批处理程序来实现将文件移动到包含文件名的文件中: ``` @echo off setlocal enabledelayedexpansion rem 设置源文件和目标文件的路径 set "sourceFolder=C:\SourceFolder" set "destinationFolder=C:\DestinationFolder" rem 遍历源文件中的所有文件 for %%F in ("%sourceFolder%\*.*") do ( rem 获取文件名文件路径 set "fileName=%%~nxF" set "filePath=%%~dpF" rem 判断文件名中是否包含文件名 set "folderName=!filePath:%sourceFolder%=!" set "folderName=!folderName:\=!" rem 判断是否存在包含文件名的目标文件 if exist "%destinationFolder%\!folderName!\" ( rem 移动文件到目标文件 move "%%F" "%destinationFolder%\!folderName!\" ) ) echo 文件移动完成! pause ``` 请将程序中的`sourceFolder`和`destinationFolder`变量的值替换为实际的源文件和目标文件的路径。该程序会遍历源文件中的所有文件,判断文件名中是否包含文件名,如果包含,则将文件移动到目标文件下对应的文件中。移动完成后,屏幕上会显示"文件移动完成!"提示信息,并等待用户按下任意键以关闭窗口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a520521bc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值