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

[问题求助] PowerShell怎样将子文件夹及其内容平均复制到另一个文件夹下的多个子文件夹中

[复制链接]
发表于 2021-12-19 09:02:54 | 显示全部楼层
select-object -first改成get-random -count ,随机
move改成copy,复制

评分

参与人数 1技术 +1 收起 理由
5i365 + 1 多谢帮忙

查看全部评分

发表于 2021-12-19 13:39:50 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /d %%a in (2\*) do (
  4.     set /a x+=1
  5.     set #!x!=%%a
  6. )
  7. for /d %%b in (1\*) do (
  8.     set /a y+=1
  9.     set -!random!-!y!=%%b
  10. )
  11. set /a n=y/x
  12. set /a m=y%%x
  13. if !m! neq 0 set /a n+=1
  14. for /f "tokens=2 delims==" %%c in ('set -') do (
  15.     set /a k+=1
  16.     set /a l=(k-1^)/n+1
  17.     for %%d in (#!l!) do (
  18.         if not exist "!%%d!\%%~nxc" (
  19.             md "!%%d!\%%~nxc"
  20.             xcopy "%%c\*.*" "!%%d!\%%~nxc" /s>nul
  21.         )
  22.     )
  23. )
  24. pause
复制代码
 楼主| 发表于 2021-12-19 20:10:04 | 显示全部楼层
回复 17# qixiaobin0715


    感谢分享, 感觉还是Powershell的代码好理解一些
 楼主| 发表于 2021-12-30 19:39:27 | 显示全部楼层
本帖最后由 5i365 于 2021-12-30 19:43 编辑

回复 16# for_flr


    你好, 如果现在不想给某个文件夹分配子文件夹了, 怎样在原来代码的基础上进行修改来实现想要的效果? 我的想法是: 把不给分配的文件夹名字定义到某个变量中 $bufenpei="B", 然后根据这个变量是否存在来决定给不给B分配文件夹

邮此产生的变动:
之前是把子文件夹均分到 A  B  C 三个文件夹中, 现在因为某些情况, 暂时不想给B分配了,  所产生的变动就是, 原来是分三份给A和B和C的, 现在是要分成两份给A和C了

感觉有点乱, 有点理不清头绪了
发表于 2021-12-31 09:29:08 | 显示全部楼层
回复 19# 5i365


    $dir2=Get-ChildItem $d2|Where-Object{$_.PSIsContainer -eq $true}
这一句不是获取文件夹2下的文件夹并写入变量dir2吗
在dir2中排除掉你不想分配的文件夹名字就行。get-childitem有个-exclude参数,表示不包括...不包括的内容用逗号依次隔开
  1. $dir2=Get-ChildItem $d2 -exclude A,B|Where-Object{$_.PSIsContainer -eq $true}
复制代码
 楼主| 发表于 2021-12-31 11:37:42 | 显示全部楼层
回复 20# for_flr


    感谢, exclude 排除的意思, 好理解一些, 但真是不会想到有个参数, 水平太菜了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 02:50 , Processed in 0.018735 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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