批量重命名带有附加日期和时间戳的多个文件

twoK

我需要一种在这样的目录中的所有.pdf文件上添加创建的日期和时间戳的自动方法;使用OSX终端,testfile.pdf必须是testfile-YYY.MM.DD_HH.MM.SS.pdf Im。

我有以下代码:

    cd "/Users/***/Documents/testmapa"
old_filename=""testfile.pdf"
new_filename=${old_filename%.*}$(stat -f %SB -t "%Y%m%d_%H%M%S" "$old_filename").${old_filename##*.}
mv "$old_filename" "$new_filename"

这可以完成这项工作,但是只在一个文件上,如何将其应用于某个目录中的所有pdf文件。基本上,我需要一个可以“单击”运行一些代码的文件,并将创建日期添加到单击该文件的目录中所有.pdf文件的文件名中。还有一个问题,该代码可以在子文件夹上运行吗?我已经安装了perl,但不知道如何使用它。我只知道它具有重命名功能和ctime stat,但是我不知道如何编写该代码。

乔治·瓦西里乌(George Vasiliou)

这样的工作对我来说可以:

for files in /home/gv/Desktop/PythonTests/*.sh; do
old_filename=$files
old_filename_stripped=$(basename -a $files)
echo "filename full : $old_filename - file name stripped: $old_filename_stripped"
done

输出:

filename full : /home/gv/Desktop/PythonTests/advfind2.sh - file name stripped: advfind2.sh
filename full : /home/gv/Desktop/PythonTests/advfind.sh - file name stripped: advfind.sh
filename full : /home/gv/Desktop/PythonTests/appslist(draft).sh - file name stripped: appslist(draft).sh
filename full : /home/gv/Desktop/PythonTests/appslist.sh - file name stripped: appslist.sh

改进的代码,包括空格和子目录:

IFS=$'\n'
for files in $(find /home/gv/Desktop/PythonTests/ -name "*.txt" ); do
old_filename="$files"
old_filename_stripped=$(basename -a "$files")
echo "filename full : $old_filename - file name stripped: $old_filename_stripped"
done
unset IFS

输出:

filename full : /home/gv/Desktop/PythonTests/b.txt - file name stripped: b.txt
filename full : /home/gv/Desktop/PythonTests/c.txt - file name stripped: c.txt
filename full : /home/gv/Desktop/PythonTests/a ver 1.txt - file name stripped: a ver 1.txt
filename full : /home/gv/Desktop/PythonTests/d.txt - file name stripped: d.txt
filename full : /home/gv/Desktop/PythonTests/a.txt - file name stripped: a.txt
filename full : /home/gv/Desktop/PythonTests/appsfiles/a.txt - file name stripped: a.txt

PS:请参阅最后一行,它是一个子目录。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过OSX上的JavaScript,Perl或Shell重命名带有创建日期时间戳的文件名?

来自分类Dev

如何在批处理文件中批量重命名带有多个点的文件?

来自分类Dev

批量重命名多个文件

来自分类Dev

在 Powershell 中创建带有日期和时间戳的文件

来自分类Dev

按创建日期批量重命名多个文件

来自分类Dev

Powershell-批量重命名带有填充零的多个文件

来自分类Dev

重命名具有非ASCII文件的文件以在ASCII中附加其自己的日期时间

来自分类Dev

如何重命名文件以排除日期时间戳?

来自分类Dev

如何重命名文件以排除日期时间戳?

来自分类Dev

重命名带有时间戳的上传文件不起作用

来自分类Dev

Bash批量重命名带有3位前缀和分隔符的文件夹

来自分类Dev

在 Windows 中批量重命名和复制多个文件

来自分类Dev

重命名多个文件;附加

来自分类Dev

批量脚本移动带有时间戳的文件

来自分类Dev

在Windows中批量重命名多个文件?

来自分类Dev

将带有时间戳的Excel文件转换为python日期和时间

来自分类Dev

PHP复制文件并使用日期和时间重命名

来自分类Dev

用Java命名文件以包含日期和时间戳

来自分类Dev

批量复制和重命名文件

来自分类Dev

如何批量复制和重命名文件?

来自分类Dev

批量文件重命名和移动

来自分类Dev

批量重命名具有升序的文件

来自分类Dev

在Azure管道复制文件任务中传递带有日期和时间戳的目录名称

来自分类Dev

批量重命名文件

来自分类Dev

批量重命名文件

来自分类Dev

批量重命名文件

来自分类Dev

批量重命名文件

来自分类Dev

批量文件重命名

来自分类Dev

重命名批量文件

Related 相关文章

热门标签

归档