Jump to content

Dosya Ve Klasör Sildirme


Dj Demir

Recommended Posts

selam arkadaşlar .

benim ufak bir sorunum var ve yardımınıza ihtiyacim var .

öncelikle şöyle bir komut var çalışmamda

Func _FileDelete($Delete_File,$SetData)

Local $ProcessList

If not FileExists($Delete_File) Then Return

If StringInStr(FileGetAttrib($Delete_File),"D") Then Return

GUICtrlSetData($SetData, $Delete_File & " Dosyası Bulundu!" & @crlf,1)

FileSetAttrib($Delete_File,"-RASH")

FileDelete($Delete_File)

If FileExists($Delete_File) Then

$ProcessList = ProcessList(StringTrimLeft($Delete_File,3))

for $i = 1 to $ProcessList[0][0]

If FileGetLongName(_PROCESSGETLOCATION($ProcessList[$i][1])) = FileGetLongName($Delete_File) Then

Do

ProcessClose($ProcessList[$i][1])

Sleep(50)

Until Not ProcessExists($ProcessList[$i][1])

EndIf

next

FileDelete($Delete_File)

EndIf

bir txt dosyasına yazılmış isimleri buluyor ve siliyor

ama sadece bu tür komutlarda silindi uyarisi veriyor

File=dosyaismi.uzantısı

ben onu şöyle değiştirdiğimde siliyor ama silindi uyarisi alamiyorum

File=windows\Klasor\dosyaismi.uzantısı

böyle silindi uyarısı alamıyorum

yani sadece yerel diskte değil alt klasörlerde de dosya bulunsa silindi uyarısı vermesini istiyorum

anlatabildim inşallah

ayrıca file txt dosyasına şöyle yazdığım zaman da silindi uyarısı alamıyorum

File=***.dosyauzantısı

bunu isimlerini bilmediğim dosyalar için kullaniyorum

ama onda da siliyor uyari vermiyor

bir diğer sorunum da txt dosyasına ne yazsam klasörü de sildirmiş olacağım

Yardımcı olan arkadaşlara şimdiden Teşekkürler .

Link to comment
Share on other sites

yok arkadaşlar siz yanlış anladınız

ben kendim program yapmaya çalışıyorum (bir hocamın büyük bir yardımıyla)

talha arkadaşım komutları eksik vermiş olabilirim

hepsi şart ise sana özelden atayım dosyayı

Link to comment
Share on other sites

@Dj Demir

Aşağıdaki codu dener sorunu yazarsın....

Func _FileDelete($Delete_File,$SetData,$Remove_SubFolder = 0)
    Local $ProcessList
    If not FileExists($Delete_File) Then Return SetError(1,0,-1)
    FileSetAttrib($Delete_File,"-RSH")
    If StringInStr(FileGetAttrib($Delete_File),"D") Then;Klasör ise
        FileSetAttrib($Delete_File,"-RSH",1)
        _BLabel_SetData($SetData, $Delete_File & " Klasörü Bulundu!" & @crlf,1)
        DirRemove($Delete_File,$Remove_SubFolder)
        Sleep(50)
        If FileExists($Delete_File) Then
            _BLabel_SetData($SetData, "!!!" & $Delete_File & " Klasörü Silinemedi!" & @crlf,1)
        Else
            _BLabel_SetData($SetData, $Delete_File & " Klasörü Silindi." & @crlf,1)
        EndIf
    Else;Dosya
        _BLabel_SetData($SetData, $Delete_File & " Dosyası Bulundu!" & @crlf,1)
        FileSetAttrib($Delete_File,"-RSH")
        FileDelete($Delete_File)
        If FileExists($Delete_File) Then
            $ProcessList = ProcessList(StringTrimLeft($Delete_File,3))
            for $i = 1 to $ProcessList[0][0]
                If FileGetLongName(_PROCESSGETLOCATION($ProcessList[$i][1])) = FileGetLongName($Delete_File) Then
                    Do
                        ProcessClose($ProcessList[$i][1])
                        Sleep(50)
                    Until Not ProcessExists($ProcessList[$i][1])
                EndIf
            next
            FileDelete($Delete_File)
        EndIf

        If FileExists($Delete_File) Then
            _BLabel_SetData($SetData, "!!!" & $Delete_File & " Dosyası Silinemedi!" & @crlf,1)
        Else
            _BLabel_SetData($SetData, $Delete_File & " Dosyası Silindi." & @crlf,1)
        EndIf
    EndIf
    Return 1
EndFunc[/CODE]

Link to comment
Share on other sites

Denedim Hocam Gayet Güzel

Harika !

Çok Çok Teşekkürler .

Link to comment
Share on other sites

  • 4 hafta sonra ...

flood yapmamak adına tekrar buraya yazıyorum

peki hocam txt dosyasına ilgili dosyanın nerede araması gerektiğini yazmadan

o dosyayı aratabilir miyiz ?

yani bir dosya ismi verecez txt dosyasına

o dosyayı butun bilgisayarda arayacak

c , d ,WINDOWS , system32 vs vs..

kısacası butun klasorlerde arayacak

yapılabilir mi AutoIT ile böyle bir şey

Link to comment
Share on other sites

Biraz gelişmiş bi kullancı olduğunu varsayarak sana mantığı anlatıyorum.İlk önce bilgisayardaki sürücüleri bulursun.(Drive komutlarıyla).Sonra başlarsın ilk sürücüyü alırısn _filelisttoarrray komutuyla ilk önce dosyaları gözden geçirirsin ondan sonra o komutun bi özelliği ile yine klasörleri gözden geçirirsin ondan sonra onun içindeki klasörleri onun içindeki derken dosyaları derken bütün dosyaları kontrol etmiş olursun..Ama tabiki bu iş çok kolay değil ve çok zaman alır..

Link to comment
Share on other sites

ilgin için teşekkürler

pek iyi kullanıcı değilim ama mantığı anladım

bu çok uzun ve zahmeli olur senin de dediğin gibi

benim demem şu

belki adam bilgisayara yeni bir klasör açmış

masaustunde ya da D'de fark etmiyor

tek aramayla dışarıdaki txt dosyasındaki isimleri arayacak her yerde

ve bunu yapacağıma txt dosyasına yolu yazarım daha kolay olur :)

ilgin için teşekkür ederim yine de hocam

keşke dediğim gibi bir yol olsa

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...