Question equivalent commande 'file' unix sous powershell
- davidovich
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 1
- Remerciements reçus 0
il y a 15 ans 2 semaines #9037
par davidovich
equivalent commande 'file' unix sous powershell a été créé par davidovich
Bonsoir à tous,
Je voulais savoir si il existait sous powershell l'equivalent de la commande 'File' sous unix, c'est-à-dire une commende capable de définir le type d'un fichier sans se baser sur son extension.
Merci par avance. powershell-scripting.com/components/com_.../emoticons/smile.png
Je voulais savoir si il existait sous powershell l'equivalent de la commande 'File' sous unix, c'est-à-dire une commende capable de définir le type d'un fichier sans se baser sur son extension.
Merci par avance. powershell-scripting.com/components/com_.../emoticons/smile.png
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 15 ans 2 semaines #9052
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:equivalent commande 'file' unix sous powershell
Salut,
A ma connaissance il n'existe pas de Cmdlet équivalente.
Cependant, j'ai retrouvé un bout de code en C# et je l'ai traduit en PowerShell...
Si ça peut t'aider :
[code:1]Function Get-MimeType([string] $fileName)
{
[String]$mimeType = \"application/unknown\"
[String]$ext = ([System.IO.Path]::GetExtension($fileName)).ToLower()
[Microsoft.Win32.RegistryKey]$regKey = [Microsoft.Win32.Registry]::ClassesRoot.OpenSubKey($ext)
if ($regKey -ne $null -and $regKey.GetValue(\"Content Type\"«») -ne $null){
$mimeType = ($regKey.GetValue(\"Content Type\"«»)).ToString()
}
return $mimeType;
}[/code:1]
Si tu exécutes la commande suivante :
[code:1]Get-MimeType \"C:\Temp\test.doc\"[/code:1]
Tu auras comme réponse :
[code:1]application/msword[/code:1]
@ +
<br><br>Message édité par: Matthew BETTON, à: 2/03/11 22:34
A ma connaissance il n'existe pas de Cmdlet équivalente.
Cependant, j'ai retrouvé un bout de code en C# et je l'ai traduit en PowerShell...
Si ça peut t'aider :
[code:1]Function Get-MimeType([string] $fileName)
{
[String]$mimeType = \"application/unknown\"
[String]$ext = ([System.IO.Path]::GetExtension($fileName)).ToLower()
[Microsoft.Win32.RegistryKey]$regKey = [Microsoft.Win32.Registry]::ClassesRoot.OpenSubKey($ext)
if ($regKey -ne $null -and $regKey.GetValue(\"Content Type\"«») -ne $null){
$mimeType = ($regKey.GetValue(\"Content Type\"«»)).ToString()
}
return $mimeType;
}[/code:1]
Si tu exécutes la commande suivante :
[code:1]Get-MimeType \"C:\Temp\test.doc\"[/code:1]
Tu auras comme réponse :
[code:1]application/msword[/code:1]
@ +
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 15 ans 1 semaine #9111
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:equivalent commande 'file' unix sous powershell
<br><br>Message édité par: Matthew BETTON, à: 8/03/11 22:15
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 15 ans 1 semaine #9112
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:equivalent commande 'file' unix sous powershell
Ce sont les Metadata.
Quelques informations ici : blogs.technet.com/b/heyscriptingguy/arch...-files-metadata.aspx
Message édité par: Matthew BETTON, à: 8/03/11 22:15
Quelques informations ici : blogs.technet.com/b/heyscriptingguy/arch...-files-metadata.aspx
Message édité par: Matthew BETTON, à: 8/03/11 22:15
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 15 ans 1 semaine #9113
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:equivalent commande 'file' unix sous powershell
Bof pour le Type MIME du fichier...
Allez hop... Ne connaissant finalement pas le besoin, voici un autre script. Celui-ci détermine cette fois-ci le type de fichier (présent dans les Metadata), tel qu'il est inscrit dans l'onglet Détails des propriétés du fichier (clique droit sur le fichier => propriétés => onglet Détails => ligne Type) :
[code:1]Function Get-FileTypeProperty([string]$fileName){
try{
$file = Get-ChildItem $fileName -ErrorAction Stop
}
catch{
return $Error[0].Exception.message
}
$shell = new-object -com shell.application
$folder = $shell.nameSpace($file.DirectoryName)
$item = $folder.parseName($file.Name)
$type = $folder.GetDetailsOf($item, 2)
return \"Le type du fichier $filename est « $type »\"
}[/code:1]
Quelques exemples de ce que cela peut donner :
[code:1]PS> Get-FileTypeProperty c:\temp\test.html
PS> Le type du fichier c:\temp\test.html est « Document HTML »[/code:1]
[code:1]PS> Get-FileTypeProperty c:\temp\test.doc
PS> Le type du fichier c:\temp\test.doc est « Document Microsoft Office Word 97 - 2003 »[/code:1]
... Et lorsque le fichier n'a pu être trouvé :
[code:1]
PS> Get-FileTypeProperty c:\temp\toto.txt
PS> Impossible de trouver le chemin d'accès « C:\temp\toto.txt », car il n'existe pas.[/code:1]
Et cette fois-ci, on ne se base pas sur l'extension du fichier.<br><br>Message édité par: Matthew BETTON, à: 8/03/11 22:17
Allez hop... Ne connaissant finalement pas le besoin, voici un autre script. Celui-ci détermine cette fois-ci le type de fichier (présent dans les Metadata), tel qu'il est inscrit dans l'onglet Détails des propriétés du fichier (clique droit sur le fichier => propriétés => onglet Détails => ligne Type) :
[code:1]Function Get-FileTypeProperty([string]$fileName){
try{
$file = Get-ChildItem $fileName -ErrorAction Stop
}
catch{
return $Error[0].Exception.message
}
$shell = new-object -com shell.application
$folder = $shell.nameSpace($file.DirectoryName)
$item = $folder.parseName($file.Name)
$type = $folder.GetDetailsOf($item, 2)
return \"Le type du fichier $filename est « $type »\"
}[/code:1]
Quelques exemples de ce que cela peut donner :
[code:1]PS> Get-FileTypeProperty c:\temp\test.html
PS> Le type du fichier c:\temp\test.html est « Document HTML »[/code:1]
[code:1]PS> Get-FileTypeProperty c:\temp\test.doc
PS> Le type du fichier c:\temp\test.doc est « Document Microsoft Office Word 97 - 2003 »[/code:1]
... Et lorsque le fichier n'a pu être trouvé :
[code:1]
PS> Get-FileTypeProperty c:\temp\toto.txt
PS> Impossible de trouver le chemin d'accès « C:\temp\toto.txt », car il n'existe pas.[/code:1]
Et cette fois-ci, on ne se base pas sur l'extension du fichier.<br><br>Message édité par: Matthew BETTON, à: 8/03/11 22:17
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.079 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les initiés
- equivalent commande 'file' unix sous powershell