我有 bash脚本,它会遍历当前目录中的文件并从文件名中提取日期部分,然后使用( Unix)touch
命令将该文件的修改日期(mtime
)修改(或更新)到此日期。
文件名示例
Electric company name - bill - 2014-03-22.pdf
Bash脚本:
我将此bash脚本保存为_save_file_mtime_from_filename.sh
(向其添加chmod +x
)并放入我想要更改文件修改时间的目录。然后从命令行运行它。
#!/bin/bash
CURRENT_DIR=$(dirname $_)
cd $CURRENT_DIR
for f in *
do
# Strip the file extension
d=${f%.*}
# Strip the last 10 characters
d=${d:${#d}-10}
# Check the format / mask
if [[ $d = ????-??-?? ]] ; then
# Strip the dash
d=${d//-}
# Run `touch` on the file with the extracted date format
# and add `0000` to the file date
touch -t ${d}0000 "$f"
fi
done
现在我正在搜索此脚本的Windows版本
我搜索网络(和Stackoverflow)。找到了一些相关问题,例如https://stackoverflow.com/questions/51435/windows-version-of-the-unix-touch-command和https://superuser.com/questions/251470/windows-recursive-touch-command/251507#251507
是否有人对使用_save_file_mtime_from_filename.bat
可执行版本的 Windows版有任何想法,而该版本的内容基本相同?
通过稍微调整和帮助(Mac)Automator操作保存为“应用程序”,您甚至可以通过鼠标右键(https://discussions.apple.com/thread/5287944?start=15&tstart=0)在Mac Finder中触发此脚本。甜!的
答案 0 :(得分:0)
答案 1 :(得分:0)