吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3973|回复: 7
收起左侧

[求助] 如何用bat批量移动文件夹内与文件夹同名的文件到指定文件夹

[复制链接]
头像被屏蔽
382702138 发表于 2020-2-15 22:47
提示: 作者被禁止或删除 内容自动屏蔽

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

loveLYF 发表于 2020-2-15 23:05
make   感觉我也需要
头像被屏蔽
 楼主| 382702138 发表于 2020-2-15 23:09
JieW_L 发表于 2020-2-15 23:17
用 Everything 搜索 E:\测试 文件夹下所有文件 *.txt,全部复制到 E:\测试\新建文件夹1
dir /ad /b 获取 E:\测试 文件夹下子文件夹名称,粘贴到 EXCEL
在 Excel 中写 从 E:\测试\新建文件夹1 移动文件到 E:\测试\ 的命令,move E:\测试\新建文件夹1\1.txt E:\测试\,包存为 bat 执行
删掉多余的文件
头像被屏蔽
 楼主| 382702138 发表于 2020-2-15 23:23
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽
xiaotuge 发表于 2020-2-15 23:25
提示: 作者被禁止或删除 内容自动屏蔽
qaz003 发表于 2020-2-16 04:02
本帖最后由 qaz003 于 2020-2-16 04:08 编辑

很久没玩BAT了,很少用循环以前一直都是简单的列菜单然后直接goto相应位置
花了半小时度娘重温了一下还是一头雾水,下面的语句可以遍历出当前目录
下的子目录里的文件,并且把它们移动到当前的目录里
[Asm] 纯文本查看 复制代码
@echo off & setlocal enabledelayedexpansion
echo 提示:请在子目的上一层目录里运行!!
pause
set fd=.\
for /f "delims=" %%a in ('dir /ad /b /s %fd%') do (
  set cp="%%~a"
  for /f "delims=" %%i in ('dir /ad /b !cp! ^| find /v /c ""') do (set /a cnt=%%i)
  if {!cnt!}=={0} (
    set up="%%~da%%~pa"
move !cp!\*.* !up! 2>nul
rd /s /q !cp! 2>nul
 )
)
endlocal & @echo on
pause


set fd=.\   这个就是批处理存放的当前目录,你可以根据自己的目录名更改
至于你说的要移子目录里跟目录名相同的文件,这个希望有大虾能提示一下怎么把目录名放到循环里
另外说个题外话,一般求助贴最好发个悬赏,这样大家会更有动力帮你,你的问题也能尽快得到解决
有用的话麻烦评分点赞给个星哈

simon6902 发表于 2020-2-16 08:07
个人觉得使用类似python之类的脚本语言,比bat批处理好处理多了,我现在都基本不用批处理。楼主可以考虑[]
base_dir="c:\\test\\"
folders = ['文件夹1','文件夹2']
dest_dir="d:\\dest\\"
for temp in folders:
temp_dir=base_dir + temp
cmd="copy %s %s" % (temp_dir, dest_dir)
os.cmd()
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 20:42

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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