3

사용 가능한 경우 mediafile의 일부 파일 속성을 표시하는 응용 프로그램을 원합니다 (Windows 용 정확한 단어를 모르는 경우). FileName, Length/Duration, FileType (.avi .mp3 등) 나는 태그 라이브러리를 시도하고 windowsapishell하지만 작업 결과를 (참조 좋은) 파일 속성을 가져 오는 방법은 무엇입니까?

ShellFile so = ShellFile.FromFilePath(file); 
so.Properties.System.(everythingIwant) 

나에게 내가 표시 한 할 파일 속성을 많이 보여 주지만, 나는 그것이 에게 오류의 예를 작업을 진행하지 못할 수 해달라고 :

'WindowsFormsApplication2.vshost.exe'(Managed (v4.0.30319)) : 'C : \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ WindowsBase \ v4.0을로드했습니다. _4.0.0.0__31bf3856ad364e35 \ WindowsBase.dll ',로드 된 기호를 건너 뛰었습니다. 모듈이 최적화되고 디버거 옵션 'Just My Code'가 활성화됩니다. '[6300] WindowsFormsApplication2.vshost.exe : 프로그램 추적'코드가 0 (0x0)으로 종료되었습니다. '[6300] WindowsFormsApplication2.vshost.exe : Managed (v4.0.30319)'프로그램이 코드 0 (0x0)으로 종료되었습니다.

뭔가 쉽게

var thing = so.Properties.System.FileName.Description; 
Console.WriteLine(thing); 

실 거예요 작업과 같은

좀 자바와 PHP 프로그래밍을 알고,하지만 난 @ marr75과에 C#


특별 감사에 완전히 새로운 해요 @errorstacks! 나는이 만들어 , 그것은

class Program 
{ 
    static void Main(string[] args) 
    { 
     string file = "E:/Dump/Shutter Island.avi"; 

     FileInfo oFileInfo = new FileInfo(file); 
     Console.WriteLine("My File's Name: \"" + oFileInfo.Name + "\""); 
     DateTime dtCreationTime = oFileInfo.CreationTime; 
     Console.WriteLine("Date and Time File Created: " + dtCreationTime.ToString()); 
     Console.WriteLine("myFile Extension: " + oFileInfo.Extension); 
     Console.WriteLine("myFile total Size: " + oFileInfo.Length.ToString()); 
     Console.WriteLine("myFile filepath: " + oFileInfo.DirectoryName); 
     Console.WriteLine("My File's Full Name: \"" + oFileInfo.FullName + "\""); 

    }    
} 

작동하지만 나는 정보가있는 경우에만 정보로 날을 제공하기 위해 원하는 :

한 질문을 따릅니다. {Console.Write (io.ofileinfo.fullname);} 은 내가

**Exists** Gets a value indicating whether a file exists. (Overrides FileSystemInfo.Exists.) 

을 보았다하지만 어떻게, 내가 만약 (io.ofileinfo.FullName.exist를) 싫어 같아요 나는이 기능을 사용합니까?

+0

프로그램이 성공적으로 실행되는 것 같습니다. 제시 한 메시지는 오류 메시지가 아니라 일반적인 진단입니다. 발견 된 값을 출력하는 것을 잊었습니까? 또는'Main'의 마지막 줄에 중단 점을 설정하기 만하면됩니까? – Vlad

+0

.net [System.FileInfo] (http://msdn.microsoft.com/en-us/library/system.io.fileinfo.aspx) 클래스는 아마도 필요한 많은 결과를 제공 할 것입니다. 미디어 파일의 지속 시간과 같은 정보는 제공하지 않지만 더 기본적인 정보가 작동하는 응용 프로그램의 디딤돌 역할을하는 데 도움이 될 수 있습니다. –

+0

http://thecodeisart.blogspot.com/2008/11/file-attributes-with-c.html 오디오 파일의 길이를 확인하려면 http://social.msdn.microsoft.com을 방문하십시오./forums/en-US/Vsexpressvcs/thread/b83106f2-e16d-4f30-ac31-854055c9efdc/# 2685871 –

답변

6

당신은 검토하거나 파일을 열 때 그 이름을 얻기 위해, C#을

를 사용하여 .... 이런 식으로 시도 할 수는에서는 FileInfo 클래스는 Name 속성을 갖추고있다. 다음은 샘플 코드입니다 :

FileInfo oFileInfo = new FileInfo(strFilename); 

if (FileName != null || FileName.Length == 0) 
{ 
    MessageBox.Show("My File's Name: \"" + oFileInfo.Name + "\""); 
    // For calculating the size of files it holds. 
    MessageBox.Show("myFile total Size: " + oFileInfo.Length.ToString()); 
} 

당신이 그 날짜와 시간 값이 무엇인지 확인하려면이

if (!oFileInfo.Exists) 
{ 
    throw new FileNotFoundException("The file was not found.", FileName); 
} 

같이 확인하실 수 있습니다, 당신이 사용하는 파일 시스템 정보 속성에 액세스 할 수 있습니다.

DateTime dtCreationTime = oFileInfo.CreationTime; 
MessageBox.Show("Date and Time File Created: " + dtCreationTime.ToString()); 

파일 확장명을 알기 위해서는 FileSystemInfo.Extension 속성 값에 액세스 할 수 있습니다.

MessageBox.Show("myFile Extension: " + oFileInfo.Extension); 
+0

이것은 정확히 내가 찾고 있던 것이 었습니다 !! ;) 많은 감사 (모두에게) – ComputerIntelligentAgent

+0

이 정보가 도움이된다면 당신은 환영받을 것입니다. 대답으로 표시하는 것을 잊지 마십시오. –

+0

@ user1008817 제 대답을 편집했습니다. pls가 제 응답을 살펴 봅니다 ... –

3

Here's a link 속성을 보는 방법에 대한 정보.

게다가, FileInfo class은 아마도 사용하려고하는 것입니다.

다른 유형의 속성은 무엇입니까?

+0

이것은 내가 찾고 있었던 정확하게 것이다! ;) 많은 감사 (모두에게) – ComputerIntelligentAgent

+1

@ user1008817이 답변이 실제로 귀하의 질문에 대답한다면, 당신은 그것을 받아야합니다 (녹색 체크 마크 사용). 그리고 도움이되는 모든 답변을 upvote해야합니다. – svick