批量移动当前目录下的所有子文件夹?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量移动当前目录下的所有子文件夹?相关的知识,希望对你有一定的参考价值。

当前目录A ,A里面有很多个子文件夹B。 B文件夹里有 文件夹C

将C里面的文件 移动到B文件夹

然后删除空文件夹C

谢谢大佬·!

参考技术A 不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的多个文件夹放一起双击运行
<# :
cls&echo off&mode con lines=5000
rem 将当前目录下第二级子文件夹里的文件剪切/移动到第一级子文件夹里/上一级子文件夹里
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312')))) -Args '%~f0'"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
[byte[]]$b=@(32,45,45,62,32);
$c=[Text.Encoding]::Default.GetString($b);
$self=get-item -liter $args[0];
$path=$self.Directory.FullName;
$folders1=@(dir -liter $path|?$_ -is [System.IO.DirectoryInfo]);
for($i=0;$i -lt $folders1.length;$i++)
$folders2=@(dir -liter $folders1[$i].FullName|?$_ -is [System.IO.DirectoryInfo]);
for($j=0;$j -lt $folders2.length;$j++)
$files=@(dir -liter $folders2[$j].FullName);
for($k=0;$k -lt $files.length;$k++)
$files[$k].FullName.substring($path.length)+$c+$folders1[$i].FullName.substring($path.length)+'\'+$files[$k].Name;

#remove-Item -liter $folders2[$j].FullName -ErrorAction SilentlyContinue;

Ubuntu批量修改权限

Ubuntu中有两个修改命令可以用到,「change mode」&「change owner」

即chmod以及chown,其中可以用递归参数-R来实现更改所有子文件和子目录的权限。

1、利用chmod修改权限:

对Document/目录下的所有子文件与子目录执行相同的权限变更:

chmod -R 700 Document/

-R参数是递归 处理目录下的所有文件以及子文件夹

700是变更后的权限表示(只有所有者有读和写以及执行的权限)

Document/ 是需要执行的目录

2、利用chown改变所有者:

对Document/ 目录下的所有文件与子目录执行相同的所有者变更,修改所有者为users用户组的username用户

chown -R username:users Document/

username:users users用户组的username,用户组参数不是必须有

以上是关于批量移动当前目录下的所有子文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

linux移动当前目录下的所有目录到其他目录

如何使用 gsutil 将所有文件和子文件夹从当前目录复制/移动到 Google Cloud Storage 存储桶

bat遍历当前目录下的文件,批量重命名

MFC怎么查找当前目录以及子目录下的*_DS.TXT文件?

列出/etc目录下的所有文件命令

如何用bat打开本身目录下的文件?