批量移动当前目录下的所有子文件夹?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量移动当前目录下的所有子文件夹?相关的知识,希望对你有一定的参考价值。
当前目录A ,A里面有很多个子文件夹B。 B文件夹里有 文件夹C
将C里面的文件 移动到B文件夹
然后删除空文件夹C
谢谢大佬·!
<# :
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,用户组参数不是必须有
以上是关于批量移动当前目录下的所有子文件夹?的主要内容,如果未能解决你的问题,请参考以下文章