Como posso converter esse script .sh em um executável do windows (.bat)?

1

Eu criei um script de shell há muito tempo para criar uma estrutura de diretórios aninhada e agora quero usá-lo na minha máquina windows. Existe uma maneira fácil de converter esses scripts? Ou algumas dicas rápidas que eu deveria usar?

#!/bin/sh
echo "Enter name of csv file"
read name
echo "Enter the PREFIX for the directory"
read prefix
c=$(echo $prefix | awk -F"/" '{print $NF}')
a='cat ./$name'
for b in $a
do
mydir=$(echo $b | tr -d '\r' | sed -e 's/,*$//g'| sed -e 's/,/\//g')
mydir2=$(echo $mydir | sed -e 's/\//\/'$c'/g')
mydir1=$prefix$mydir2
mkdir -p $mydir1
echo "Created : 'pwd'/$mydir1"
done
    
por Rookie 11.10.2016 / 23:54

2 respostas

0

Não existe realmente uma maneira mágica de converter scripts, exceto para reescrever os scripts mencionados manualmente. Isso pode nem sempre ser 100% possível, devido às limitações do Prompt de Comando do Windows.

No entanto, em vez de converter o script, talvez você possa obter um programa do Windows que possa executá-lo. Se você tiver o Windows 10, você pode simplesmente usar o novo subsistema Linux. Há um milhão de páginas da Web explicando como fazer isso, então você deve encontrar informações por meio de uma simples pesquisa na Web.

Se você não estiver executando o Windows 10, recomendarei versões compatíveis do Windows do Borne Again SHell e Un * x untilities (especificamente awk , cat , sed e tr , desde que esses são o que o roteiro acima parece exigir). O MinGW tem uma boa versão de ambos, que você pode obter (junto) de aqui . Execute o programa de instalação e você verá uma janela chamada "MinGW Installation Manager", que terá vários pacotes que você pode instalar. "msys-base" deve ser o único que você precisa (a menos que você planeje compilar o código-fonte), então coloque uma marca de seleção na caixa ao lado dele. Em seguida, vá ao menu "Instalação" e selecione "Aplicar alterações" e, na janela exibida, clique em "Aplicar". Supondo que você instalou o MinGW no diretório padrão ( C:\MinGW ), o bash deve estar localizado em C:\MinGW\msys.0\bin\bash.exe . Você pode usar este arquivo exe para executar seus scripts de shell.

    
por 10.10.2017 / 20:30
-1

Eu encontrei as mesmas necessidades. Basicamente, eu tenho um script de shell em execução no meu Mac e agora gostaria de executá-lo clicando duas vezes no Windows. Aqui está o que eu fiz no Windows 10.

Primeiro, certifique-se de que posso executar o .sh por meio da política de execução necessária do PowerShell: abrir powershell - > dir para o local .sh e execute "sh. \ shell.sh". Talvez precise ajustar um pouco o .sh.

Em segundo lugar, crie um arquivo .ps1 de uma linha: sh "\ shell \ script \ full \ path.sh" ("é necessário se houver espaço no caminho).

Por fim, crie um arquivo bat de uma linha: C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe -executionpolicy Bypass -File "\ powershell \ script \ full \ path.ps1"

    
por 26.09.2017 / 19:31