找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27888|回复: 8

[文件操作] 批处理怎样把第一个下划线前名字相同的文件自动合并并建立同名文件夹?

[复制链接]
发表于 2019-10-10 12:58:11 | 显示全部楼层 |阅读模式
求助:第一个下划线前名字相同的文件自动合并并建立同名文件夹
比如:abc_1   abc_2 自动建立并合并到叫abc的文件夹。
十分感谢!
 楼主| 发表于 2019-10-10 13:20:14 | 显示全部楼层
再现求助,,
发表于 2019-10-10 13:36:05 | 显示全部楼层
本帖最后由 ivor 于 2019-10-10 13:41 编辑
  1. 2>nul md abc & move abc* .\abc
复制代码
发表于 2019-10-10 14:03:32 | 显示全部楼层
  1. @echo off
  2. for /f "tokens=1,* delims=_" %%i in ('dir /b /a-d *_*.txt') do (
  3.     if not exist "%%i" (
  4.         md "%%i"
  5.     )
  6.     move /y "%%i_%%j" "%%i"
  7. )
复制代码
 楼主| 发表于 2019-10-10 14:26:18 | 显示全部楼层
回复 4# Batcher

您好 试了下还是没反应
发表于 2019-10-10 15:45:37 | 显示全部楼层
回复 5# yt_ljl


    把你测试用的txt文件和bat文件打包压缩传上来我试试
发表于 2019-10-10 17:28:39 | 显示全部楼层
假定为 ANSI 编码:
powershell "(ls *_*.txt|?{$_.BaseName -match '^[^_]+_'}|group {[regex]::Match($_,'^[^_]+').value}).Foreach{gc $_.Group|sc ($_.Name+'.txt')}"
发表于 2019-10-10 17:33:01 | 显示全部楼层
powershell :
  1. (ls *_*.txt|?{$_.BaseName -match '^[^_]+_'}|group {[regex]::Match($_,'^[^_]+').value}).Foreach{sc ($_.Name+'.txt') -Value {gc $_.Group}}
复制代码
发表于 2019-10-10 20:55:34 | 显示全部楼层
  1. ls *_*.txt | group {[regex]::Match($_.Name,"^[^_]*")}| %{ mkdir $_.Name -ErrorAction Ignore;Move-Item -Path ($_.Group) -Destination $_.name}
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:49 , Processed in 0.014152 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表