**.bat中,怎样将多文件,按文件名的关键字批量移动到多相应的文件夹中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了**.bat中,怎样将多文件,按文件名的关键字批量移动到多相应的文件夹中?相关的知识,希望对你有一定的参考价值。

分别建立001、002、003……多个文件夹,并将以下多个文件按照文件名的前3位字符的顺序分别移动到对应的文件夹中?001-01.jpg、001-02.jpg、001-03.jpg……002-01.jpg、002-02.jpg、002-03.jpg……003-01.jpg、003-02.jpg、003-03.jpg……或者按照文件名的前3位字符的顺序,分别建立相应文件名的文件夹,并移动。

参考技术A 不清楚你的实际文件/情况,仅以问题中的样例/说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的多个文件放一起双击运行@echo off&cd /d "%~dp0"&mode con lines=5000
rem 将当前目录里的多个文件,根据文件名称开头的前几位相同字符,将文件剪切/移动/归类/分配到不同文件夹里
set #=Any questions&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "len=3"
for /f "delims=" %%a in ('dir /a-d-h/b') do (
    if /i "%%~nxa" neq "%~nx0" (
        set "file=%%~a"
        set "base=%%~na"
        setlocal enabledelayedexpansion
        if not exist "!base:~,%len%!" md "!base:~,%len%!"
        echo;"!file!" --^> "!base:~,%len%!"
        endlocal
    )
)
echo;%#% +%$%%$%/%_% %z%
pause
exit

追问

感谢你的帮助,但使用中,只是自动建立了相应的文件夹,但文件并没有相应的移动。

追答

按运行代码后窗口标题栏中的提示联系我

追问

任意键点击后,窗口关闭,就什么都没了

Linux下批量删除文件(急)

要在一个指定的目录下递归查找含有指定内容的所有文件 并将这些文件删除 这个应该怎样才能做到呢 要shell编程?

find 目录 -type f -print0|xargs -0 grep -l 内容关键字|xargs -i rm -f

试试看我这个 危险哦
参考技术A find 目录名 -type f | xargs grep 关键字 | awk -F: 'print $1' | xargs rm -f

以上是关于**.bat中,怎样将多文件,按文件名的关键字批量移动到多相应的文件夹中?的主要内容,如果未能解决你的问题,请参考以下文章

怎样批量改后缀名?

用bat怎样批量提取文件夹及子文件夹下面图片?

怎样用bat 文件 批量删除指定文件名的文件夹

怎样批量提取视频的文件名?

用bat怎样批量提取图片的分辨率或像素大小、文件大小,大神们帮帮忙,谢谢了。

BAT怎样批量删除文件夹中,除了txt后缀名文件外的其他文件