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

[文件操作] [已解决]在末级文件夹里面建立文件夹和批量剪切文件到跟目录

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

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

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

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

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
非常好的论坛

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

评分人数

    • 001011: ok 还差一步移动图片技术 + 1

TOP

回复 2# WHY
需要把文件拷贝到里面去
非常好的论坛

TOP

第二个问题:
  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
复制代码
1

评分人数

TOP

回复 4# WHY
文件名是这两种情况
张三-3-7-084.jpg
张三-1-1-001.jpg
张三-4-1-1-1001.jpg
非常好的论坛

TOP

回复 3# 001011


        需要拷贝的文件位于什么地方?总不会在天上吧?

TOP

回复 5# 001011


    你试过没有?

TOP

回复 6# WHY

在每个末级文件夹里面建立“1”的文件夹   再把文件拷贝到“1”里面啊
非常好的论坛

TOP

回复 7# WHY
第一个问题  建立文件夹OK   就是没有拷贝文件
第二个问题      OK
感谢啊  感谢
非常好的论坛

TOP

回复 8# 001011


    在每个末级文件夹里面建立“1”的文件夹   再把哪个文件拷贝到“1”里面啊
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

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

建立“1”的文件夹后,并把里面的图拷贝到1里面
非常好的论坛

TOP

回复 11# 001011


    你确认一下是【移动】文件还是【拷贝】文件?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 12# Batcher


    【移动】
非常好的论坛

TOP

回复 12# Batcher
找历史帖  翻到了您的代码  稍微改动  OK了   谢谢啊
@echo off
for /f "delims=" %%i in ('dir /b /s /a:d ') do (
    md "%%i\1"
    move "%%i\*.jpg" "%%i\1\"
)
非常好的论坛

TOP

回复 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\')}"
复制代码
1

评分人数

    • 001011: 是的 是的 我可能没有表达清楚 谢谢啊技术 + 1

TOP

返回列表