前言
本人喜欢收集一些计算机方面的视频资料,一旦资料多(一个2T以及一个8T的移动硬盘)了之后就会出现自己都不知道文件在哪里的尴尬。最近在用git-bash的时候,想到可以用linux的一些简单命令,来处理一些windows下需要一些软件辅助才能完成的文件批处理问题(或者说,咱对windows的更深入的技术不是很了解),实践了一下,在此记录一下,希望对大家有所帮助。
场景一 文件增加前缀
输入命令如下:
// 进入需要修改的目录,输入一下命令,"PRE_"替换为你需要的前缀
for f in * ; do mv -- "$f" "PRE_$f" ; done
场景二 删除空文件夹
这也是一个比较让人烦躁的常用功能,我们已经将目录下的文件移动到想要的目录,但是留下了一堆空文件夹。一次性删除当前文件夹下的空文件夹,命令如下:
find -type d -empty | xargs rm -rf {}
操作时的图没有截,之后补上。命令的意思是,管道符左边是找到当前文件夹的空文件夹,右侧执行删除操作。
场景三 批量修改文件前缀
场景类似于场景一,但是稍有变化,适合在文件名存在一定规律的情况下需要批量修改前缀。
"##"具体内涵请点击查看其他博客,此场景思路,借鉴于该博客,感谢博主。
命令如下:
//##代表去掉f(文件名)中最后一个'-'的左侧所有文字
for f in *;do mv -- "$f" "想要加的前缀文字${f##*-}";done
原来的文件夹下是这样的:
我想把文件夹的名字加在文件名前面,同时把原来的前缀文字去掉。命令的内涵就是:首先遍历当前文件夹下的所有文件名f,去掉’-'左侧的所有文字,并加上你的新的前缀组成一个新的文件名,“mv”命令就是将当前文件移动(剪切)为新的文件名。执行shell后,效果如下:
后记
问题的处理方法有很多种,这里也只是提供一种我此时此刻的思路。此文的目的在于,方便自己,方便他人,不喜勿喷。