感谢您的帮助,如果我的术语不正确请见谅。
这是一个脚本(*.sh文件),它执行以下操作: 1. 进入特定目录A 2. 从另一个目录B复制文件到目录A 3. #已注释# 它还会解压目录A及其子目录中的文件 4. #已注释# 它还会删除目录A中所有*.csv文件的前6行和最后一行。
现在我可以通过进入文件所在的目录并输入以下命令在cygwin中使该脚本工作:
或者
我也可以通过在CMD/Windows DOS中执行以下操作来完成这个任务:
但是,尽管我已经在CMD / Windows DOS中说过这些单独的命令可以工作,但这并不起作用。
现在我想做的是像在Windows中使用任务计划程序一样调度此脚本(filename.sh),类似于.vbs或.bat文件? 有人能给些建议吗?
请注意,我尝试编写了一个Windows批处理文件(.bat)来执行此操作(请参见下文),但我无法使我的解压缩和sed命令起作用,请参阅此处。 因此,我尝试编写了上面的Bash shell脚本。
这是一个脚本(*.sh文件),它执行以下操作: 1. 进入特定目录A 2. 从另一个目录B复制文件到目录A 3. #已注释# 它还会解压目录A及其子目录中的文件 4. #已注释# 它还会删除目录A中所有*.csv文件的前6行和最后一行。
#!/bin/bash
# Configure bash so the script will exit if a command fails.
set -e
#cd to the dir you want to copy to:
cd /cygdrive/c/path/I/want/to/copy/to
#echo Hello
#cp the files i want
#include the subdirectories
cp -r /cygdrive/c/path/I/want/to/copy/from/* .
# This will unzip all .zip files in all subdirectories under this one.
# -o is required to overwrite everything that is in there
#find -iname '*.zip' -execdir unzip -o {} \;
#find ./ -iname '*.csv' -exec sed -i '1,6d;$ d' '{}' ';'
现在我可以通过进入文件所在的目录并输入以下命令在cygwin中使该脚本工作:
./filename.sh
或者
/cygdrive/c/path/where/the/file/is/filename.sh
或者
bash filename.sh
我也可以通过在CMD/Windows DOS中执行以下操作来完成这个任务:
C:\cygwin\bin\bash.exe -l
进入bash终端,然后输入以下命令:
/cygdrive/c/path/where/the/file/is/filename.sh
在任务计划程序(Windows中),我尝试安排以下任务:
C:\cygwin\bin\bash.exe -l /cygdrive/c/path/where/the/file/is/filename.sh
但是,尽管我已经在CMD / Windows DOS中说过这些单独的命令可以工作,但这并不起作用。
现在我想做的是像在Windows中使用任务计划程序一样调度此脚本(filename.sh),类似于.vbs或.bat文件? 有人能给些建议吗?
请注意,我尝试编写了一个Windows批处理文件(.bat)来执行此操作(请参见下文),但我无法使我的解压缩和sed命令起作用,请参阅此处。 因此,我尝试编写了上面的Bash shell脚本。
chdir C:\pointA
C:\cygwin\bin\cp.exe /cygdrive/v/pointB/* .
::find -iname *.zip -execdir unzip {} \;
::find ./ -iname '*.csv' -exec sed -i '1,6d;$ d' '{}' ';'