我创建了一个 Automator 应用程序,它将在 Shell 脚本的帮助下为项目创建一个带有子文件夹的新文件夹。该应用程序首先询问项目名称和位置(目录),创建后会打开新创建的项目文件夹。
例如:
到目前为止,它按预期工作,但是我也尝试自动将一些文件添加到子文件夹中,但我陷入困境,而且我无法自己找到解决方案。
基本上,我试图将文件从另一个文件夹复制到新创建的子文件夹之一,但我收到(主要是)以下两个错误:
“运行 Shell 脚本”操作遇到错误:“用法:cp [-R [-H | -L | -P]] [-fi | -P]] -n] [-apvXc] 源文件 目标文件 cp [-R [-H | -L | -P]] [-fi | -P]] -n] [-apvXc] 源文件 ... 目标目录”用法:cp [-R [-H | -L | -P]] [-fi | -P]] -n] [-apvXc] 源文件 目标文件 cp [-R [-H | -L | -P]] [-fi | -P]] -n] [-apvXc] 源文件 ... 目标目录
“运行 Shell 脚本”操作遇到错误:“cp: /path/to/sourcefile/file.pdf: 没有这样的文件或目录”
这就是我所拥有的:
mkdir "$1/$2"
mkdir "$1/$2/Guides_and_Bulletins"
mkdir "$1/$2/Pictures"
mkdir "$1/$2/Schematics"
mkdir "$1/$2/Schematics/Calculator"
mkdir "$1/$2/Schematics/As_built"
mkdir "$1/$2/Site_Docs"
cp "/path/to/sourcefile/file.pdf" "/$1/$2/Guides_and_Bulletins/file.pdf"
在该示例中,我尝试通过上述操作将 file.pdf 从一个位置复制到新创建的 Guides_and_Bulletins 子文件夹,但它当然不起作用。
任何帮助将不胜感激!谢谢
注意:我当然正在更改 cp 的路径“/path/to/sourcefile/file.pdf”“$1/$2/Guides_and_Bulletins/”到正确的位置
答案1
您创建了一个目录:
mkdir "$1/$2"
但随后您尝试将文件复制到可能不同的目录:
cp "/path/to/sourcefile/file.pdf" "/$1/$2/Guides_and_Bulletins/file.pdf"
尝试:
cp "/path/to/sourcefile/file.pdf" "$1/$2/Guides_and_Bulletins/file.pdf"
此外,还可以对脚本进行一些简化:
mkdir -p "$1/$2/Guides_and_Bulletins" \
"$1/$2/Pictures" \
"$1/$2/Schematics" \
"$1/$2/Schematics/Calculator" \
"$1/$2/Schematics/As_built" \
"$1/$2/Site_Docs"
cp "/path/to/sourcefile/file.pdf" "$1/$2/Guides_and_Bulletins/"