我编写了批处理文件,我想比较两个文件夹的修改时间(timstap)并复制最新的一个。我不知道这个选项是否可用目录,因为我不知道。所以我想获取日期并将每个部分存储在variale中以进行比较
例子 :-
获取日期date
11 5 2011 11:10:57
天=11
月=5
年份=2011
小时=11
最小值=10
秒=57
答案1
Bash 提供了-nt
比较运算符,如果一个文件比另一个文件新,则返回 true。以下脚本说明了此功能
#!/bin/bash
if [[ "$1" -nt "$2" ]]
then
echo "$1 is newer than $2 - copying $1"
#do something
else
if [[ "$2" -nt "$1" ]]
then
echo "$2 is newer than $1 - copying $2"
#do something
else
echo "$1 and $2 are the same time"
#do nothing
fi
fi
答案2
也许“find”的选项-newer可以做到这一点。
查找 . -较新的目录 -exec cp {} /new/location \;
PD 我不会说英语
答案3
要将日期时间组件设置为 shell 变量:
eval $(date "+day=%d month=%m year=%Y hour=%H min=%M secnd=%S")
要比较日期,Iain 的回答是正确的做法。