Escrevendo um arquivo de lote para abrir o Netflix no modo de tela cheia no Google Chrome

1

Estou escrevendo um arquivo de lote para abrir o Netflix no Google Chrome no modo de tela cheia. Meu conhecimento de arquivos em lote é infantil, embora ...

chrome.exe --start-fullscreen --app=https://www.netflix.com

Isso, obviamente, funciona quando executado no mesmo diretório do executável chrome, mas não funciona em nenhum outro lugar.

Estou procurando uma maneira de gravar o arquivo em lote para pesquisar e localizar o chrome.exe e, em seguida, executá-lo com as opções acima. Dessa forma, posso compartilhar o arquivo em lote com outras pessoas e ele funcionará independentemente de seus caminhos de arquivo. Pode ser feito?

- editar -

Como a Appleoddity sugere que a busca é desnecessária, essa seria a melhor maneira de escrever um arquivo em lote para essa finalidade?:

@echo off    
cd\program files (x86)\google\chrome\application
chrome.exe --start-fullscreen --app=https://www.netflix.com
    
por YOURMOM 11.01.2018 / 06:05

3 respostas

2

Eu escrevi algo que funciona. O que eu não poderia ter feito sem o post de Sir Adelaide. Então, obrigada, senhor Adelaide, pelo seu exemplo. Também agradeço a todos que contribuíram; tem sido educativo:)

(Eu escolhi lote por powershell porque qualquer um com quem eu quisesse compartilhar o script powershell teria primeiro que alterar suas configurações de política de execução. O que não é necessário com lote.)

if exist "%localappdata%\google\chrome\application\chrome.exe" set file_found="yes" 
if not exist "%localappdata%\google\chrome\application\chrome.exe" set file_found="no" 
if %file_found%=="yes" set chrome_exe="%localappdata%\google\chrome\application\chrome.exe"

if exist "%programfiles%\google\chrome\application\chrome.exe" set file_found="yes" 
if not exist "%programfiles%\google\chrome\application\chrome.exe" set file_found="no" 
if %file_found%=="yes" set chrome_exe="%programfiles%\google\chrome\application\chrome.exe"

if exist "%programfiles(x86)%\google\chrome\application\chrome.exe" set file_found="yes" 
if not exist "%programfiles(x86)%\google\chrome\application\chrome.exe" set file_found="no" 
if %file_found%=="yes" set chrome_exe="%programfiles(x86)%\google\chrome\application\chrome.exe" 

%chrome_exe% --start-fullscreen --app=https://www.netflix.com
    
por 12.01.2018 / 09:58
2

Como as pessoas podem ter arquivos de programa em uma unidade ímpar, em vez de C (incomum, mas possível), é melhor usar a variável de sistema para a pasta de arquivos do programa. Além disso, como poderia estar na pasta de dados do aplicativo local, devemos verificar lá também.

rem :: set file location

if exist %localappdata%\google\chrome\application\chrome.exe (
 set chrome_exe="%localappdata%\google\chrome\application\chrome.exe"
)  

if exist %PROGRAMFILES(x86)%\google\chrome\application\chrome.exe (
 set chrome_exe="%PROGRAMFILES(x86)%\google\chrome\application\chrome.exe"
 )

if exist %PROGRAMFILES%\google\chrome\application\chrome.exe (
 set chrome_exe="%PROGRAMFILES%\google\chrome\application\chrome.exe"
 ) 

 rem :: run chrome
%chrome_exe% --start-fullscreen --app=https://www.netflix.com
    
por 11.01.2018 / 08:04
1

Eu definitivamente recomendaria a conversão para o PowerShell (é mais fácil, na minha opinião) e tem montes de cmd-lets para ajuda com coisas como esta.

Nesse caso, supomos que o Google Chrome tem dois caminhos de instalação e, portanto, essa é a variável principal que precisamos considerar. Usando a opção Test-Path podemos ditar 2 caminhos UNC para a opção em potencial.

Aqui está um script que usa o "Test-Path" que podemos testar se o Google Chrome existe em Arquivos de programas (x86) e, caso contrário, atribuímos o valor de LocalAppData.

Aqui está:

    $ConfirmGoogleChrome = (Test-Path "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")
    $Process = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"

        function OpenChromeFullScreen {
        If ($ConfirmGoogleChrome -eq $True) {
        start $Process --start-fullscreen --app="https://www.netflix.com"
        }
        else {
        $Process = "%localappdata%\google\chrome\application\chrome.exe"
        start $Process --start-fullscreen --app="https://www.netflix.com"
        }
   }
OpenChromeFullScreen

Observe que o PowerShell foi habilitado por padrão no Windows Vista (acredito) e requer que o Net Framework opere - o que deve ser habilitado nas mais instalações do SO moderno.

Atualizar

Devido aos comentários que dizem que isso pode não ser tão robusto quanto necessário (já que não podemos assumir que C:\ é o caminho de instalação do sistema operacional), eu fiz um pequeno "aprimoramento":

# Variables for the HomeDrive (OS Install Path)
# Inclusive of the path to AppData

$OSInstallPath  = $env:HOMEDRIVE
$OSLocalAppData = $env:LOCALAPPDATA

# Performs Checks on the end path

$ChromeProgramFiles = (Test-Path "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe") 
$ChromeLocalAppData = (Test-Path "$OSLocalAppData\google\chrome\application\chrome.exe")

# Variable for Google Chrome Path
# We default this to Program Files
$GoogleChrome = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"


# Function to set the paths
Function ConfirmSetPaths {
    If ($ChromeProgramFiles -eq $False) {
    $GoogleChrome = "$OSLocalAppData\google\chrome\application\chrome.exe" 
  }
}

ConfirmSetPaths
Start "$GoogleChrome" --start-fullscreen --app="https://www.netflix.com"

Essencialmente, criamos variáveis (" $OSInstappPath " e " $OSLocalAppData " que são variáveis ligadas ao sistema) para o caminho de instalação no seu PC (pois o caminho UNC pode mudar dependendo de quem o executa.

Em seguida, criamos duas variáveis adicionais para os dois caminhos em que chrome.exe pode existir. A função ConfirmSetPaths testará se chrome.exe existe no caminho "padrão" no PC (neste caso, usamos " C:\Program Files (x86)\Google\Chrome\Application\chrome.exe ").

Se existir aqui, inicia o programa. Caso contrário, ele altera a variável para $GoogleChrome para ser a pasta Local App Data e, em seguida, executa a partir daqui.

Mudanças:

  1. Agora usa $env variables para ditar o caminho de instalação do sistema operacional;
por 11.01.2018 / 08:12