Como disponibilizar recursos de rede localmente antes de executar um script?

1

Eu preciso executar um script em lote que espera pastas localmente. Ele executa um processo Python que usa os.listdir etc. No entanto, esta pasta específica estou interessado em apenas lá em uma pasta de rede. Então, é possível eu acessar o Network Resource antes de executá-lo e depois fechá-lo mais tarde?

Para Serviços , temos uma opção no Windows Services que diz "Log On As", que pode ser usada para acessar a máquina remota e fazer alguma operação nos arquivos. Eu acho que é chamado de Contas de Logon de Serviço . Seria possível fazer o mesmo para um script em lote simples, ou seja, um simples processo ?

Devo usar o comando net use para isso? Vi algumas soluções aqui , mas net use é provavelmente a maneira mais simples de fazer isso?

net use \RemoteComputer\c$ password /user:DOMAIN\remoteUsername
program.bat
net use \RemoteComputer\c$ /d
    
por Nishant 28.06.2018 / 12:58

1 resposta

1

Você pode usar uma lógica IF condicional e verificar se o caminho UNC para esse recurso existe ou não. Se não existir, você irá colocá-lo em um loop, de modo que ele continue voltando à rotina para continuar executando a verificação repetidamente até que ela exista. Uma vez que ele encontrar o caminho UNC e verificar se ele está acessível, isso indica que este recurso está disponível, o restante de sua lógica de lote pode ser executado e, em seguida, você pode Saia do processo assim que a outra lógica for executada.

Script

@ECHO ON

:: -- Check network share and folder is accessible 
:NetworkAccessible
::ping -n 06 127.0.0.1>nil
IF NOT EXIST "\<ServerName>\<ShareName>\Folder" GOTO :NetworkAccessible

<Rest of Logic>
<Rest of Logic>

EXIT

Note: You can remove the two colons on the ::ping -n 06 127.0.0.1>nil line and this will give it a 5 second delay before checking again but the number can be increased or decreased.

Mais recursos

por 28.06.2018 / 15:14

Tags