Main Content

dir

Elenco del contenuto della cartella

Descrizione

dir elenca i file e le cartelle della cartella corrente.

esempio

dir name elenca i file e le cartelle che corrispondono a name. Quando name è una cartella, dir elenca il contenuto della cartella. Specificare name utilizzando nomi di percorso assoluti o relativi. L'argomento name può includere il carattere jolly * nel nome del file ed entrambi i caratteri jolly * e ** nel nome del percorso. I caratteri adiacenti a un carattere jolly ** devono essere separatori di file.

esempio

listing = dir(name) restituisce gli attributi di name.

Esempi

Visualizzazione del contenuto della cartella

Elencare il contenuto di una cartella.

Creare una cartella myfolder che contenga i file myfile1.m, myfile2.m e myfile3.m.

mkdir myfolder
movefile myfile1.m myfolder
movefile myfile2.m myfolder
movefile myfile3.m myfolder

Elencare i file in myfolder.

dir myfolder
.          ..         myfile1.m  myfile2.m  myfile3.m  

Individuazione di file corrispondenti al nome specificato

Elencare tutti i file con estensione .m che contengono il termine my.

Creare una cartella myfolder che contenga i file myfile1.m, myfile2.m e myfile3.txt.

mkdir myfolder
movefile myfile1.m myfolder
movefile myfile2.m myfolder
movefile myfile3.txt myfolder

Elencare i file corrispondenti in myfolder.

cd myfolder
dir *my*.m
myfile1.m  myfile2.m  

Individuazione di file nelle sottocartelle

Elencare tutti i file della cartella corrente e di tutte le relative sottocartelle.

Creare una cartella myfolder1 che contenga questi file e cartelle:

myfile1.m
myfolder2
     myfile2.m
     myfolder3
         myfile3.m
mkdir myfolder1
mkdir myfolder1/myfolder2
mkdir myfolder1/myfolder2/myfolder3

movefile myfile1.m myfolder1
movefile myfile2.m myfolder1/myfolder2
movefile myfile3.m myfolder1/myfolder2/myfolder3

Elencare tutti i file con estensione .m in myfolder1 e tutte le sottocartelle di myfolder1.

cd myfolder1
dir **/*.m
Files Found in Current Folder:

myfile1.m  

Files Found in: myfolder2

myfile2.m  

Files Found in: myfolder2\myfolder3

myfile3.m  

Individuazione di informazioni nella struttura di ritorno

Restituire l'elenco delle cartelle di myfolder alla variabile MyFolderInfo.

Creare una cartella myfolder che contenga i file myfile1.m, myfile2.m e myfile3.m.

mkdir myfolder
movefile myfile1.m myfolder
movefile myfile2.m myfolder
movefile myfile3.m myfolder

Ottenere un elenco dei file in myfolder. MATLAB® restituisce le informazioni in un array di struttura.

MyFolderInfo = dir('myfolder')
MyFolderInfo=5×1 struct array with fields:
    name
    folder
    date
    bytes
    isdir
    datenum

Indicizzare la struttura per accedere a un elemento particolare.

MyFolderInfo(3).name
ans = 
'myfile1.m'

Individuazione della data dell'ultima modifica di un file

Ottenere la data e l'ora dell'ultima modifica di un file.

Per prima cosa, eseguire una query nel campo datenum che viene restituito da dir. Il valore del campo datenum è un numero di data seriale e non varia a seconda del Paese.

MyFileInfo = dir('myfile1.m');
FileDate = MyFileInfo.datenum
FileDate = 7.3647e+05

A partire dalla release R2022b, non è consigliato utilizzare numeri di data seriali. Convertire il numero di data seriale in un valore datetime utilizzando la funzione datetime.

FileDatetime = datetime(FileDate,ConvertFrom="datenum")
FileDatetime = datetime
   24-May-2016 11:24:31

Argomenti di input

comprimi tutto

Nome del file o della cartella, specificato come vettore di caratteri o scalare di stringa. Se name è una stringa, includerla tra parentesi. Ad esempio, dir("FolderName").

Per elencare file e cartelle in una posizione remota, name deve contenere un percorso completo specificato come localizzatore di risorse uniforme (URL). Per maggiori informazioni, vedere Work with Remote Data.

Per cercare più file, utilizzare i caratteri jolly nel nome del file. Ad esempio, dir *.txt elenca tutti i file con estensione txt nella cartella corrente. Per cercare tra le cartelle e le sottocartelle del percorso in modo ricorsivo, utilizzare i caratteri jolly nel nome del percorso. Ad esempio, dir */*.txt elenca tutti i file con estensione txt esattamente una cartella sotto la cartella corrente e dir **/*.txt elenca tutti i file con estensione txt zero o più cartelle sotto la cartella corrente. I caratteri adiacenti a un carattere jolly ** devono essere separatori di file.

Nota

MATLAB® considera sempre il carattere * come un carattere jolly, anche sui sistemi di file che supportano * nei nomi dei file.

La funzione MATLAB dir è coerente con il comando dir del sistema operativo di Microsoft® Windows®, in quanto entrambi supportano i nomi di file brevi generati dal DOS.

Argomenti di output

comprimi tutto

Attributi del file, restituiti come array di struttura nx1, dove n è il numero di file e cartelle restituiti dal comando dir.

Questa tabella mostra i campi della struttura.

Nome del campo

Descrizione

Classe

name

Nome del file o della cartella

char

folder

Posizione del file o della cartella

char

date

Data di modifica come timestamp

char

bytes

Dimensione del file in byte

double

isdir

1 se il nome è una cartella; 0 se il nome è un file

logical

datenum

Data di modifica come numero di data seriale.

double

Suggerimenti

  • Per escludere le voci non valide restituite dal comando dir, utilizzare la funzione cellfun.

    MyFolderInfo = dir; 
    MyFolderInfo = MyFolderInfo(~cellfun('isempty', {MyFolderInfo.date})); 

    Le voci non valide si presentano quando si esegue dir con un argomento di output e i risultati includono un file che non esiste o un file che dir non può interrogare per qualche altro motivo. In questo caso dir restituisce i seguenti valori predefiniti.

    date: '' 
    bytes: [] 
    isdir: 0 
    datenum: [] 
    

    Le voci non valide si verificano più frequentemente sulle piattaforme UNIX® quando dir interroga un collegamento simbolico che punta a una destinazione inesistente. Una destinazione inesistente è una destinazione che è stata spostata, rimossa o rinominata.

  • Per ottenere un elenco dei drive disponibili sulle piattaforme Microsoft Windows, utilizzare il comando DOS net use dalla riga di comando.

    dos('net use')

    O digitare

    [s,r] = dos('net use')

    MATLAB restituisce i risultati all'array di caratteri r.

Funzionalità estese

Cronologia versioni

Introduzione prima di R2006a

espandi tutto