Расписание запуска сценария оболочки Bash в Windows
Цени любую помощь и извините, если моя терминология неверна.
это скрипт (*. sh файл), который:
1-идет в определенный каталог А
2-копии файлов из другого каталога B в каталог A
3- # закомментировано # также разархивирует файлы в каталоге A и его подкаталогах
4- # закомментировано # также удаляются строки 1-6 и последняя строка всех файлов * .csv в каталоге A
#!/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, как я уже говорил выше
Теперь я хочу запланировать этот скрипт (filename.sh) так же, как и файл .vbs или .bat в Windows, используя планировщик задач? Кто-нибудь может посоветовать по этому поводу?
Примечание. Я попытался написать пакетный файл Windows (.bat) для этого (см. Ниже), но не смог заставить работать команды unzip и sed,посмотреть здесь, Поэтому я попытался написать скрипт оболочки Bash выше.
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' '{}' ';'