使用今日日期创建文件夹,创建子文件夹并将所有文件复制到其中-Bash

时间:2018-09-06 22:52:09

标签: bash macos shell

mkdir -p /Volumes/Hams\ Hall\ Workspace/STYLING\ /backup/$(date +%Y%m%d)/SS1

cp -r "/Volumes/styleshoot/TJXE-HHPS-SS01/ss1" "/Volumes/Hams\ Hall\ Workspace/STYLING\ /backup/$(date +%Y%m%d)/SS1"

cp -r "/Volumes/styleshoot/TJXE-HHPS-SS01/ph back s " "/Volumes/Hams\ Hall\ Workspace/STYLING\ /backup/$(date +%Y%m%d)/SS1"

我可以创建一个文件夹,其中包含今天的日期和“ SS1”子文件夹。

尽管,它不会让我cp -r进入这个新创建的文件夹吗?它指出“没有这样的文件或目录”。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

这比我想象的要容易!我最终使用find命令搜索“文件夹”及其所有子文件夹中的所有文件。 mkdir -p-表示mkdir将创建目录以及所有不存在的父目录。 $(date +%Y%m%d)/今天的日期创建一个文件夹。然后,您只需添加/newfolder/nefolder1即可在其中创建任何子目录。

#Make Directory for Backups
mkdir -p /path/$(date +%Y%m%d)/NewFolder

#Copy Files into Backup folder
find /path/a/ -type f -exec cp {} /path/$(date +%Y%m%d)/NewFolder;

#Remove Original files
find /path/a/ -mindepth 2 -maxdepth 2 -delete

如果需要,您还可以使用mv移动文件:

#Move Files into Backup folder
find /path/a/ -type f -exec mv {} /path/$(date +%Y%m%d)/NewFolder;