Jump to content

Dateisuche mit CGI


Recommended Posts

Hallo zusammen,

ich bin mir grade eine MP3 Verwaltung als Schule Project am bauen. Es soll eine MP3 beinhalten. Habe den Teil des Scripts auch soweit fertig.

Allerdings wenn nach der Eingabe ins Suchfeld z.B. *Jackson* auf suchen klicke zeigt das Skript mir alle Dateien an die sich auf der HDD befinden.

Hat eine von Euch vielleicht ne Idee bzw. Lösung?

Die Abfrage befindet sich in Zeile 34. Habe sie grün markiert.

Hier der Code:

#MP3 Verwaltung 

[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
[void][System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")


$objForm = New-Object System.Windows.Forms.Form
$objForm.BackgroundImageLayout = 2
#$objForm.BackgroundImage =[System.Drawing.Image]::FromFile('C:\Users\fritz\Pictures\Milou Script.jpg')
$objForm.StartPosition = "CenterScreen"
$objForm.Size = New-Object System.Drawing.Size(1000,700)
$objForm.Text ="Musik Verwaltung"
$objForm.TopMost = "True"

$Objlabel = New-Object System.Windows.Forms.Label
$Objlabel.Size = New-Object System.Drawing.Size (100,30)
$Objlabel.Location = New-Object System.Drawing.Size (30,40)
$Objlabel.Text ="MP3 Suche"
$Objlabel.BorderStyle = "Fixed3d"
$objForm.Controls.Add($Objlabel)

$ObjSuchBox = New-Object System.Windows.Forms.TextBox
$ObjSuchBox.Size = New-Object System.Drawing.Size(100,150)
$ObjSuchBox.Location = New-Object System.Drawing.Size(30,85)
$ObjSuchBox.Text = ""
$suche = $ObjSuchBox.Text
$objForm.Controls.Add($ObjSuchBox)

$SucheButton = New-Object System.Windows.Forms.Button
$SucheButton.Location = New-Object System.Drawing.Point(30,110)
$SucheButton.Size = New-Object System.Drawing.Size(100,30)
$SucheButton.Text = 'Suche'
#$SucheButton.DialogResult = [System.Windows.Forms.DialogResult]::OK
$SucheButton.Add_Click({ gci "G:\" -Filter "*.$suche" -Force -EA Ignore -Recurse -File | select Fullname  | ogv -Title "Dateien wählen" -PassThru }) #| %{start-process $_.Fullname}})
$ObjForm.AcceptButton = $SucheButton
$Objform.Controls.Add($SucheButton)
[void] $objForm.ShowDialog()

 

Danke schonmal im voraus.

Viele Grüße

Link to post

Hallo fritzg1974 und willkommen im MCSEboard.

 

Wenn Du Code postest, solltest Du den als Code formatieren, bitte.  .... sieht besser aus und verhindert im Zweifel ungewollte Zeilenumbrüche oder automatische Formatierungen der Forensoftware, die man im Code aber nicht haben möchte.

 

Ich würde Dir empfehlen, den Inhalt der Variablen, die Du benutzt, einfach mal zur Laufzeit des Skriptes , auszugeben. Idealerweise mittels Write-Debug oder Write-Verbose.  ... zur Not einfach mit Write-Host. Dann weißt Du, ob überhaupt das bei Get-ChildItem ankommt, was Du erwartest.

 

... und noch ein dringender Tipp: In Skripten solltest Du generell keine Aliasse verwenden und den Code möglichst ausführlich und lesbar schreiben. Das gilt um so mehr, wenn Du Deinen Code in einem Forum anderen Leuten zeigst, die ihn lesen und verstehen sollen.  ;-) 

 

EDIT:

 

Es ist übrigens eine der Board-Regeln auf Cross-Postings hinzuweisen!!!!  :achtung:

 

https://social.technet.microsoft.com/Forums/de-DE/082e54f3-9fec-42f8-b195-b68bd597d07c/datei-suche-mit-gci?forum=powershell_de#36250f73-b295-446e-93a9-d707b9a190b9

 

Vielleicht schaust Du Dir die nochmal an: Regeln und Nutzungsbedingungen

Edited by BOfH_666
  • Like 1
Link to post

Ganz kurz...

$suche = "*Jackson*"

-Filter = "*.$Suche" ergibt *.*Jackson*

Und *.* ist halt nun mal schon "alle Dateien"... Denkfehler - Dein "Suchfilter" muß in ein Where-Object nach dem Get-ChildItem.

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...