我想要用批处理提取本机test1文件夹里的非当天txt文件移动到test2,
貌似有点复杂 望请高手帮忙x写出批处理代码, 谢谢~! !!
步骤:
从D盘 test1提取非当天txt文件到D盘test2文件夹
文件名包含日期信息:前8位是日期,以日期提取文件,只提取除今天之外的数据文件
文件格式:08312016_133432_AR23263106172.txt
09012016_133432_AR23263106172.txt
08222016_133432_AR23263106172.txt
批处理不会写,可以给你个python代码参考一下。。
命令格式直接 python moveFile.py D:\test1 D:\test2 就可以了(假设这段代码保存的文件叫做moveFile)
import glob
import os
import sys
import time
def main():
if len(sys.argv) < 3:
sys.stderr.write('Please specify source and destination folder')
else:
src_path = sys.argv[1]
dst_path = sys.argv[2]
current_date = time.strftime("%m%d%Y")
file_list = glob.glob(src_path + os.sep + "*.txt")
for file_name in file_list:
if not file_name.startswith(current_date):
os.system("move " + file_name + " " + dst_path + os.sep)
if __name__ == '__main__':
main()
shell脚本
#!/bin/bash
find test1 -name '*.txt' > filename.txt
while read LINE
do
temp=${LINE%%_*}
mydate=${temp#*/}
date_now=date +%d%m%Y
echo $mydate
echo $date_now
if [ $mydate -eq $date_now ]
then
echo 'today'
else
cp $LINE test2
fi
done < filename.txt
shell脚本
my_date为文件名的日月年
date_now为今天的日期
#!/bin/bash
find test1 -name '*.txt' > filename.txt
while read LINE
do
temp=${LINE%%_*}
mydate=${temp#*/}
date_now=`date +%d%m%Y`
echo $mydate
echo $date_now
if [ $mydate -eq $date_now ]
then
echo 'today'
else
cp $LINE test2
fi
done < filename.txt