shell批量执行同一目录不同文件夹里面的东西

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell批量执行同一目录不同文件夹里面的东西相关的知识,希望对你有一定的参考价值。

比如说,当前目录下面有50个文件夹,然后每个文件夹里面有相同的一个脚本,然后用shell的方式,执行这50个文件夹里面的脚本,每个脚本都需要执行,大侠们有什么好办法没?

注意文件本身别放到50个文件夹里面,容易造成死循环。
#!/bin/sh
for file in `find /opt -type f -name "*.sh"`;do
echo $file
sh $file
done
参考技术A sh */a.sh

如何批量解压缩文件到同一目录下?

我有一个压缩包,解压后里面有几千个小压缩包。我试过全选并解压到当前目录下,但是解压后会变成几千个小文件包,我得挨个进去把需要的东西复制粘贴出来。

请问有没有办法可以批量压缩后,我需要的文件可以直接在同一个文件包内,而不要再出现子文件包了呢?

你可以使用RAR的命令方式去完成任务。
系统自带CMD本身不支持RAR的路径,你可以把winrar目录里面的RAR.exe和UNRAR复制到c:\windows文件夹中,或者自己设置一下系统环境变量,把winrar的目录加进去。其实就是方便调用而已。

RAR.exe负责的功能是压缩文件
UnRAR.exe负责的功能则是解压缩文件

假设,D:\abc文件夹下有个a.rar文件
你要把a文件解压到当前目录
你就在命令行里输入命令,unrar x(注释,命令x为使用绝对路径)D:\abc\a.rar(注释,这是你要解压的文件的绝对路径) D:\(注释,这个是你想解压的路径,如果留空则默认解压到%HOMEPATH%目录)
如果你不想用绝对路径解压,在cmd中跳转到,rar文件的目录下,改用命令e,
继续以D:\abc文件夹下有个a.rar文件为例,你到了abc的目录下输入,unrar e a.rar(注释,这里用相对路径)D:\(注释这里依然是你想解压到得目录,但留空则解压到当前目录)

最后编一个批处理BAT文件,将你的小压缩包的那些文件名都写在里面,按上面的规则。再执行这个批处理文件。OK
还有不清楚的Hi我吧。
参考技术A

1、同时选择需要一次解压的文件,可以按住Ctrl键不松点选来选择多个文件,也可以框选。

2、选中以后,右键点文件,选择解压文件(A)。

3、选择文件解压到的位置,这里举例解压到桌面“22”文件夹,点确定即可。

参考技术B 新建一个文件夹,把压缩包放在里面,然后右击,选择解压到当前文件夹,把需要的文件留下,不需要的删掉,这个文件夹就是你需要的文件夹了。当然,你不需要把最大的压缩包删了,这时,把他转移出文件夹,就可以了。
希望我的回答对你有所帮助!
参考技术C 楼主可以这样操作达到目的:
1.全选解压到一个目录下;
2.在该目录下使用查找功能:在搜索框中输入“*.*”后回车;
3.你会发现所有文件包里的文件都被列出来了,CTRL+A全选下,再复制粘贴到同一个文件包里就可以了。
参考技术D 几千个?什么东东来的
现在还没有

以上是关于shell批量执行同一目录不同文件夹里面的东西的主要内容,如果未能解决你的问题,请参考以下文章

如何批量解压缩文件到同一目录下?

shell中怎么批量执行命令。

macos 如何批量替换同一名字文件?

如何批量执行sql查找替换?

批量复制及执行命令shell脚本

文件批量转换成UTf-8