标题: [文本处理] 批处理随机复制txt到多个子目录? [打印本页]
作者: 小白来了 时间: 2023-11-5 22:54 标题: 批处理随机复制txt到多个子目录?
D:\TXT文件夹 里面有多个txt文件夹
E\123文件夹 下面有多个子文件夹
如何随机复制"D:\TXT文件夹" 里面的"1"个txt文件 到"E\123文件夹"下面的子文件夹内。
就是随机复制1个到"E\123文件夹\A文件夹"
再随机复制1个到"E\123文件夹\B文件夹"
....
地址是固定的,文件名和文件夹名不固定~
作者: pd1 时间: 2023-11-5 23:45
- <# :
- @echo off
- powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0' |Out-String|Invoke-Expression"
- pause
- #>
- $txt=dir D:\TXT文件夹\*.txt -File
- dir E:\123文件夹\ -Directory|%{$randtxt=$txt|Get-Random -Count 1;copy $randtxt $_.FullName}
复制代码
作者: 小白来了 时间: 2023-11-6 01:02
回复 2# pd1
大佬能写成bat命令吗?
作者: Five66 时间: 2023-11-6 06:28
来个超低效率的
请确认确实是1楼所说的
D:\TXT文件夹 里面有多个txt文件夹
不过 不是文件夹 而是 文件也行- @echo off&pause
-
- set "f=D:\TXT文件夹"
- set "fd=E\123文件夹"
-
- for /r "%f%" %%a in ("*.txt") do set /a n+=1
-
- for /d %%a in ("%fd%\*") do (
- set folder=%%a
- call :aaa
- )
-
- echo,&pause&exit /b
-
- :aaa
- set /a r=%random% %% %n%+1
- set m=0
- for /r "%f%" %%b in ("*.txt") do (
- set file=%%b
- set /a m+=1
- setlocal enabledelayedexpansion
- if !m! == !r! (
- rem echo,!r!
- echo,&echo copy "!file!" to "!folder!"
- copy /y "!file!" "!folder!"
- endlocal
- goto :eof
- )
- endlocal
- )
复制代码
作者: terse 时间: 2023-11-6 07:43
- @echo off&setlocal enabledelayedexpansion
- set "f=D:\txt文件夹"
- set "fd=E:\123文件夹\"
- for /f "delims=" %%f in ('dir /b /a-d "%f%\*.txt"') do set /a n+=1&set "_!n!=%%~f"
- for /f "delims=" %%d in ('dir /b /ad "%fd%"') do (
- set /a r=!random!%%n+1
- for %%b in (!r!) do copy "%f%\!_%%b!" "%fd%%%d\"
- )
- pause
复制代码
作者: 小白来了 时间: 2023-11-6 09:08
回复 4# Five66
谢谢大佬
作者: 小白来了 时间: 2023-11-6 09:08
回复 5# terse
感谢大佬,万分感谢!
作者: 77七 时间: 2023-11-6 09:55
- @echo off
- set "f1=D:\TXT"
- set "f2=E:\123"
- for %%a in ("%f1%\*.txt") do (
- set /a n+=1
- call set _%%random%%_%%n%%=%%a
- )
- for /d %%d in ("%f2%\*") do (
- call :1 "%%d"
- )
- pause & exit
-
- :1
- for /f "tokens=1* delims==" %%a in ('2^>nul set _') do (
- copy "%%b" "%~1"
- set %%a=
- exit /b
- )
- exit /b
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |