Scrittura di script eseguibili semplici su Windows [chiuso]

-1

Sono un utente Mac, ma ho bisogno di scrivere uno script su Windows e non sono sicuro di come dovrei farlo.

Ecco lo scenario:

Qualcuno aggiunge foto a un'unità USB. L'unità viene quindi inserita in una cornice digitale.

Affinché le foto possano essere riprodotte automaticamente, sul disco deve essere presente un file "playlist.asb". Voglio creare uno script su cui è possibile fare clic e eseguirlo per creare automaticamente il file di playlist in base ai file di immagine aggiunti all'USB. Lo script farebbe qualcosa di simile a questo:

  1. Controlla se ci sono immagini nella cartella "slideshow".
  2. Verifica se esiste un file chiamato "playlist.alb", se non lo crea. Se è così, sovrascrivilo.
  3. Passa in rassegna le immagini disponibili.
  4. Aggiungi il nome e l'estensione di ciascuna immagine su una nuova riga.
  5. Salva (e sovrascrivi qualsiasi file di playlist esistente) ed esci.

Sono a mio agio con AppleScript per Mac, ma non sono sicuro che un equivalente di Windows avrebbe senso o se qualche tipo di script da riga di comando funzionasse meglio.

Qualsiasi aiuto è molto apprezzato.

    
posta joshlawler7 19.12.2013 - 18:42
fonte

3 risposte

1

@ user61852 è sulla strada giusta, ma la sua soluzione ha lo svantaggio che non funzionerà con una lettera di unità diversa. E tu non conosci la lettera di unità in anticipo. Ogni volta che si inserisce la chiavetta USB, è possibile che venga assegnata una lettera di unità diversa.

Come soluzione, si dovrebbe mettere lo script direttamente nella cartella principale della chiavetta USB stessa e aggiungere cd /d %~d0%~p0 alla prima riga. Ciò rende la directory home USB la directory corrente. Quindi, puoi lasciare la lettera dopo. Quindi lo script dovrebbe assomigliare a questo:

cd /d %~d0%~p0
dir /b \slideshow\*.jpg >\slideshow\playlist.alb
    
risposta data 19.12.2013 - 20:41
fonte
0

Supponendo che Flashdrive sia sempre mappato, ad esempio G: letter, e tutte le immagini sono jpg, allora dovrebbe funzionare:

echo. > g:\slideshow\playlist.alb
dir /b g:\slideshow\*.jpg >> g:\slideshow\playlist.alb

Crea un file con estensione .bat con quella istruzione al suo interno.

Se non viene trovato alcun file jpg, verrà creata una playlist vuota che dovrebbe produrre lo stesso risultato di nessuna playlist.

L'opzione / b serve a impedire che testo, dimensioni dei file, date, ecc. vengano riversati nel file. Il comando echo con un punto alla fine (senza spazio) non è un errore di battitura.

Aggiornamento:

La prima riga genera un file con una riga vuota al suo interno. Nella seconda riga, ">" è cambiato in "> >" per aggiungere alla fine di tale file piuttosto che sovrascriverlo.

    
risposta data 19.12.2013 - 19:50
fonte
-2

L'ambito e la scala qui non sono ben definiti nella domanda, quindi sto rispondendo a questo supponendo che l'unità USB venga spedita con la cornice digitale, e l'intera cosa è pensata per l'utente finale da utilizzare.

Se questo è il caso, il percorso che farei sarebbe di creare un eseguibile che funzioni automaticamente quando l'unità USB è collegata (come impostato in un file autorun.inf). Quel programma fornirebbe un'interfaccia che richiede all'utente di trascinare / rilasciare i file in esso. Quando i file vengono aggiunti, quel programma creerebbe automaticamente il file .asb. Se l'utente aggiunge manualmente i file all'unità USB, è possibile farli avviare il programma che genererà il file .asb.

Non farei affidamento sul fatto che il cliente sappia cosa sia un file batch, o addirittura fare affidamento su di essi per leggere le istruzioni.

La tecnologia che useresti per la creazione di questo sarebbe essenzialmente un linguaggio di programmazione in grado di generare un eseguibile di Windows autonomo.

    
risposta data 19.12.2013 - 20:26
fonte

Leggi altre domande sui tag