Come aprire un file random in una cartella e impostare che solo i file con gli estensioni di nome di file specificati dovrebbero essere aperti?

Come aprire un file random in una cartella e impostare che solo i file con gli estensioni di nome di file specificati dovrebbero essere aperti? (Anche se preferibilmente support anche i nomi di file Unicode).

Ho già guardato intorno e ho trovato questo script batch (.BAT):

@echo off & setlocal :: start of main rem Set your path here: set "workDir=C:\DVDCOVERS" rem Read the %random%, two times is'nt a mistake! Why? Ask Bill. rem In fact at the first time %random% is nearly the same. @set /a "rdm=%random%" set /a "rdm=%random%" rem Push to your path. pushd "%workDir%" rem Count all files in your path. (dir with /b shows only the filenames) set /a "counter=0" for /f "delims=" %%i in ('dir /b ^|find "."') do call :sub1 rem This function gives a value from 1 to upper bound of files set /a "rdNum=(%rdm%*%counter%/32767)+1" rem Start a random file set /a "counter=0" for /f "delims=" %%i in ('dir /b ^|find "."') do set "fileName=%%i" &call :sub2 rem Pop back from your path. popd "%workDir%" goto :eof :: end of main :: start of sub1 :sub1 rem For each found file set counter + 1. set /a "counter+=1" goto :eof :: end of sub1 :: start of sub2 :sub2 rem 1st: count again, rem 2nd: if counted number equals random number then start the file. set /a "counter+=1" if %counter%==%rdNum% (start "" "%fileName%") goto :eof :: end of sub2 :: -snap--- end of batch 

Fonte: http://forums.majorgeeks.com/showthread.php?t=181574

Funziona per aprire qualsiasi file random in una cartella, ma vorrei essere in grado di impostare che solo i file con l'estensione di file di nome specificato dovrebbero essere aperti. (ad esempio una cartella contiene i file .MKV (video), .TP (video), .MP4 (video) e .JPG (image) e vorrei aprire casualmente solo i file video e non i file image .JPG.)

Non support anche i nomi di file Unicode. Esegue l'output di Windows questo messaggio di errore se apre casualmente un file con un nome di file Unicode:

Windows non riesce a trovare (nome file di file con nome file Unicode, con i caratteri Unicode sostituiti da un punto interrogativo) . Assicurarsi di aver digitato correttamente il nome e riprovare.

Finalità:

  • Se desideri guardare un video random da una cartella, ma la cartella contiene anche file non video
  • Se si desidera visualizzare un'image random da una cartella, la cartella contiene anche file non di image.
  • Eccetera.

Suggerimenti per migliorare il codice file .BAT (in particolare la "casualità", poiché spesso ho lo stesso file due o tre volte in successione) o un'altra soluzione migliore (anche uno script non batch) è benvenuto. Sto usando Windows 7.

  • Come get LAN ip a una variabile in un file batch di Windows
  • Audio Stream PC su Skype
  • Sostituzione di alt-tab per Mac come Mac per Windows 7?
  • perché il mio schermo nero dopo la connessione rdp?
  • Rendere l'unità flash avviabile con MULTIPLE Windows Installer
  • Come convertire o masterizzare un file image .DMG in Windows?
  • Come eseguire l'aggiornamento a un disco più grande?
  • Perché alcuni personaggi disegnano orribilmente, orribilmente sbagliato in Windows?
  • 2 Solutions collect form web for “Come aprire un file random in una cartella e impostare che solo i file con gli estensioni di nome di file specificati dovrebbero essere aperti?”

    In Python, è ansible aprire un file JPG random come questo:

     import glob,random,os files = glob.glob("*.jpg") file = random.choice(files) print "Opening file %s..." % file cmd = "rundll32 url.dll,FileProtocolHandler \"" + file + "\"" os.system(cmd) 

    Per aprire file video come .MKV, .MP4 e .TP, sostituire i files = glob.glob("*.jpg") linea files = glob.glob("*.jpg") con queste righe:

     files = glob.glob("*.mkv") files.extend(glob.glob("*.mp4")) files.extend(glob.glob("*.tp")) 

    Questa è un'aggiunta alla risposta di poplitea .

    Per utilizzare lo script Python nella risposta di poplitea , ho salvato lo script Python in C:\Programs\Scripts\ , con il nome del file, open-random-video.py (script di Python che apre i video casuali).

    Ho quindi salvato il seguente script come un file batch (.BAT) :

    C:\Python27\python.exe "C:\Programs\Scripts\open-random-video.py" cd

    Si noti che: C:\Python27\ è where è installato Python. Questa directory può variare a seconda di where è stato installato Python. cd significa la directory corrente.

    Posso quindi mettere il file .BAT nelle cartelle che voglio aprire file casuali e eseguire semplicemente il file .BAT se voglio un file random aperto in quella cartella.

    Siamo il genio del computer e della rete.