como fazer um arquivo bat no usb?

0

Eu quero criar um arquivo de lote que abra vários programas, como configurar drivers como este

cd\
D:    (the usb drive letter )
start sound driver.exe
start  tochpad driver.exe

Só de abrir o arquivo de lote do disco rígido do computador e não do pendrive USB.

E o problema é que o usb muda sua letra de unidade em todos os computadores .. caras, alguma ajuda aqui, por favor?

    
por mina nageh 27.10.2016 / 20:22

2 respostas

1

Coloque algum tipo de arquivo de identificação na unidade e repita as unidades. Se você encontrar o dito arquivo, você sabe que encontrou o pendrive. Isso irá parar de funcionar se o arquivo não estiver presente.

Um exemplo disso seria: Detectar USB e copie . para a unidade USB usando o script em lote

De acordo com isso, o caminho mais fácil seria o seguinte, assumindo um arquivo chamado "USB.txt":

@echo off
for %%d in (D: E: F: G: H: I: etc...) do (
   if exist %%d\USB.txt (
      echo USB at drive %%d connected
      %%d
      start sound driver.exe
      start tochpad driver.exe
   )
)

Para uma solução melhor, verifique o pergunta eu vinculei. O acima já tem várias armadilhas como alguém pode usar A: e B: como letras de unidade normais ou o USB.txt pode não estar presente.

Se você observar a solução "corrigida" dessa pergunta, seria:

@echo off
for /F "tokens=1*" %%a in ('fsutil fsinfo drives') do (
   for %%c in (%%b) do (
      for /F "tokens=3" %%d in ('fsutil fsinfo drivetype %%c') do (
         if %%d equ Removable (
            echo Drive %%c is Removable (USB^)
            %%c
            start sound driver.exe
            start tochpad driver.exe
         )
      )
   )
)

Pelo que posso dizer, fsutil precisa ser executado com privilégios de administrador, então você terá que tomar cuidado com isso, dependendo do que está fazendo.

    
por 28.10.2016 / 10:48
0

Acredito que, ao clicar no arquivo bat do explorador, o diretório atual é definido para o local do arquivo em lote.

Portanto, se o arquivo de lote estiver armazenado e executado a partir de um diretório no pendrive, você já estará em um diretório com essa letra de unidade. Você não precisa alternar as unidades, portanto, não é necessário especificá-lo.

Portanto, use apenas CD \ , o que garantirá que você esteja no nível raiz da unidade em que está.

Você não precisa usar uma letra de unidade para acessar outros diretórios na mesma unidade. Se você estiver na pasta c:\temp :

123\file.txt é equivalente a c:\temp3\file.txt (sem barra inicial, então o caminho é adicionado ao caminho atual)

3\file.txt é equivalente a c:3\file.txt (barra inicial, então o caminho é adicionado somente à letra da unidade (chamado de "raiz")

Isso pode ficar um pouco complicado se você estiver iniciando outros arquivos em lote a partir do arquivo em lote que também precisa saber em qual diretório eles estão. Não acho que você esteja nessa situação com base em seu exemplo.

veja também ( link ) para uma discussão mais aprofundada sobre como encontrar o diretório de trabalho atual.

    
por 27.10.2016 / 20:42