Board logo

标题: [文件操作] [已解决]在末级文件夹里面建立文件夹和批量剪切文件到跟目录 [打印本页]

作者: 001011    时间: 2019-7-3 19:34     标题: [已解决]在末级文件夹里面建立文件夹和批量剪切文件到跟目录

第一个问题:
D:\分件  文件夹下有N个子目录

要求在最末级文件夹里面建立一个:“1”的文件夹  并把文件拷贝到“1”里面

第二个问题
经过一些处理后,

需要把子文件夹下的所以JPG拷贝到“人名”(比如说样例中的:张三、李四)相应根目录下,并去掉文件名最前面的 人名-
作者: WHY    时间: 2019-7-4 09:47

第一个问题,创建 1 文件夹后,需要把哪里的文件拷贝到 1 里面?
可以这样创建文件夹:
  1. PowerShell "forEach($a In (dir D:\分件 -Recurse | ?{$_ -is [IO.DirectoryInfo] -and ![IO.Directory]::GetDirectories($_.FullName).Count})){md ($a.FullName+'\1')}"
复制代码

作者: 001011    时间: 2019-7-4 09:49

回复 2# WHY
需要把文件拷贝到里面去
作者: WHY    时间: 2019-7-4 09:52

第二个问题:
  1. @echo off
  2. for /d %%i in ("D:\分件\*") do (
  3.     pushd "%%i"
  4.     for /f "tokens=1* delims=-" %%j in ('dir /b /s "%%~nxi-*.jpg"') do (
  5.         copy "%%j-%%k" "%%i\%%k" 2>nul
  6.     )
  7.     popd
  8. )
  9. pause
复制代码

作者: 001011    时间: 2019-7-4 09:58

回复 4# WHY
文件名是这两种情况
张三-3-7-084.jpg
张三-1-1-001.jpg
张三-4-1-1-1001.jpg
作者: WHY    时间: 2019-7-4 10:07

回复 3# 001011


        需要拷贝的文件位于什么地方?总不会在天上吧?
作者: WHY    时间: 2019-7-4 10:08

回复 5# 001011


    你试过没有?
作者: 001011    时间: 2019-7-4 10:09

回复 6# WHY

在每个末级文件夹里面建立“1”的文件夹   再把文件拷贝到“1”里面啊
作者: 001011    时间: 2019-7-4 10:11

回复 7# WHY
第一个问题  建立文件夹OK   就是没有拷贝文件
第二个问题      OK
感谢啊  感谢
作者: Batcher    时间: 2019-7-4 10:23

回复 8# 001011


    在每个末级文件夹里面建立“1”的文件夹   再把哪个文件拷贝到“1”里面啊
作者: 001011    时间: 2019-7-4 10:26

回复 10# Batcher
建立“1”的文件夹前

建立“1”的文件夹后,并把里面的图拷贝到1里面
作者: Batcher    时间: 2019-7-4 11:01

回复 11# 001011


    你确认一下是【移动】文件还是【拷贝】文件?
作者: 001011    时间: 2019-7-4 11:09

回复 12# Batcher


    【移动】
作者: 001011    时间: 2019-7-4 14:28

回复 12# Batcher
找历史帖  翻到了您的代码  稍微改动  OK了   谢谢啊
@echo off
for /f "delims=" %%i in ('dir /b /s /a:d ') do (
    md "%%i\1"
    move "%%i\*.jpg" "%%i\1\"
)
作者: WHY    时间: 2019-7-4 14:33

回复 11# 001011


    你的意思是,把最末级目录里面的 jpg 图片移动到新建的 1 文件夹里面,是这样吗?
  1. PowerShell "forEach($a In (dir D:\分件 -Recurse | ?{$_ -is [IO.DirectoryInfo] -and ![IO.Directory]::GetDirectories($_.FullName).Count})){md ($a.FullName+'\1'); mv ($a.FullName+'\*.jpg') ($a.FullName+'\1\')}"
复制代码

作者: 001011    时间: 2019-7-4 18:29

回复 15# WHY
能再帮忙加一个清除空文件功能吗  谢谢
作者: WHY    时间: 2019-7-4 22:07

回复 16# 001011


    空文件是什么样的文件?文件大小为 0 吗?
作者: 001011    时间: 2019-7-5 01:27

回复 17# WHY
不是把图全部移动出来了吗  就形成了空文件啊
也可以说大小为0
作者: Batcher    时间: 2019-7-5 08:31

回复 18# 001011


    你说的是空文件夹吧?请举例说明一下移动图片之后哪个文件夹会变空
作者: 001011    时间: 2019-7-5 13:03

回复 17# WHY
作者: WHY    时间: 2019-7-5 15:30

回复 20# 001011


    http://www.baidu.com/s?word=删除空文件夹+批处理




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2