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

[文件操作] 已解决 求问怎么样分文件的bat

本帖最后由 8532200 于 2021-4-1 09:24 编辑

有几千个文件

每个文件包含一个关键词作为分割符

比如

异域-11番小队黑执事 Black Butler冏[BDRIP][720P][X264-10bit_AAC]01.mkv
异域-11番小队黑执事 Black Butler冏[BDRIP][720P][X264-10bit_AAC]02.mkv
异域-11番小队黑执事 Black Butler冏[BDRIP][720P][X264-10bit_AAC]03.mkv

把冏字前面的文件全部放进一个       异域-11番小队黑执事 Black Butler   的文件夹


女子高中生的日常囧   [DHR][Joshikousei no Mudazukai][01-12][BIG5][720P][AVC_AAC][MP4]01.mp4

把冏字前面的文件全部放进一个       女子高中生的日常   的文件夹


全部文件都是这样,有一个冏字作为关键词

求帮忙

本帖最后由 qixiaobin0715 于 2021-3-30 09:49 编辑

如果其他需求相同,关键词是两个或以上的字符,如“囧途”,且其前后可能存在“关键词”的单个字符,可能就需要多一个步骤。

TOP

回复 6# qixiaobin0715


    是的。。之前求得不是按关键词。。。所以没办法完美解决

TOP

回复 3# 8532200
那是因为你的描述有差异。

TOP

这样效率更高些。

TOP

回复 2# qixiaobin0715


一层for循环的写法:
  1. @echo off
  2. for /f "tokens=1* delims=冏" %%a in ('dir /b /a-d *冏*') do (
  3.     if not exist "%%a" (
  4.         md "%%a"
  5.     )
  6.     move "%%a冏%%b" "%%a"
  7. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# qixiaobin0715


    之前求过一次,

代码是这个

@echo off
setlocal enabledelayedexpansion
for /r %%i in ("*.*")do (
  set "Name=%%~nxi"
  if "!Name:~-8,1!" == "-" (
    if not exist "!Name:~0,-8!" md "!Name:~0,-8!"
    move /-y "%%i" "!Name:~0,-8!"
  ) else (
    if not exist "!Name:~0,-7!" md "!Name:~0,-7!"
    move /-y "%%i" "!Name:~0,-7!"
  )
)
pause



但是不好用,不够智能

你这个完美解决了按照关键词分类文件夹的

测试了一下。。目前还是没有任何问题

谢谢你

TOP

回复 1# 8532200
  1. @echo off
  2. for %%i in (*冏*) do (
  3.     for /f "tokens=1 delims=冏" %%a in ("%%i") do (
  4.         if not exist "%%a" md "%%a"
  5.         move "%%i" "%%a"
  6.     )
  7. )
  8. pause
复制代码
1

评分人数

    • 8532200: 完美解决,感激不尽技术 + 1

TOP

返回列表