windows: "Kopie von xyz" ändern?

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
horst
Beiträge: 70
Registriert: 08.09.2004 19:33
Wohnort: München
Kontaktdaten:

Beitrag von horst »

Vorschlag: Backup-Copy-Proggi Verknüpfung im SendTo-Ordner des Benutzers
Benutzung: Datei(en) markieren, rechte Maustaste, SentTo: backup

Proggi:

Code: Alles auswählen

; ------------------------------------------------------ 
; Backup Datei(en) im selben Verzeichnis mit name+".bak"
; ------------------------------------------------------
Repeat 
  Fname$ = ProgramParameter()
  If Fname$ 
    If FileSize(Fname$) < 0 Or CopyFile(Fname$,Fname$+".bak") = #NUL 
      error +1
    EndIf 
  EndIf 
Until Fname$ = ""
If error : MessageBeep_(0) : EndIf 
End
@AND51
> Du könntest z. B. ein Verzeichnis vorgeben, in das kopiert wird.

Wie mit dem "Kopieren nach" Symbol im XP Explorer?
(Leider hat es da bei M$ nicht für eine MRU Funktion gereicht...)
horst
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

kurz und schmerzlos
eine exe die diesem code entspringt liegt jetz im SendTo-ordner

Code: Alles auswählen

s$=ProgramParameter()
While s$
  CopyFile(s$, GetPathPart(s$)+"\"+"~"+GetFilePart(s$) )
  s$=ProgramParameter()
Wend
also danke AND51.

@Kiffi
ich hab den string in der dll gefunden. da ich da aber #null erfahrung hab:
kann ich ihn (zur laufzeit von windows) einfach modifizieren und speichern?, oder wie geht das..
der sieht so aus:
Kopie () von
kann ich da einfach
()_
draus machen, so dass die nummerierung erhalten bleibt? [außer bei der ersten kopie]
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Kein Problem. Stimmt, du könntest es auch in den SendTO Ordner packen, ist sogar noc einfacherer, als in der registry rumzufummeln.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

..und weils grad passt:
in meinen SendTo hat sich noch dies hinzugesellt [wenn man einen "ordner" ans prog senden, entsteht im selben verzeichnis eine "ordner-list-01.txt" die bis auf leere ordner den gesamten inhalt auflistet] - auch sehr praktisch

Code: Alles auswählen

NewList files.s()

Procedure getFileList(dirName.s, files.s() )
  If dirName
    If FindString(dirName, "\", Len(dirName) )=0 :: dirName+"\" :: EndIf
    dir=ExamineDirectory(#PB_Any, dirName, "*.*")
    If dir
      While NextDirectoryEntry(dir)
        name$=DirectoryEntryName(dir)
        Select DirectoryEntryType(dir)
          Case 2
            If name$<>"." And name$<>".."
              getFileList( dirName+name$, files() )
            EndIf
          Case 1
            AddElement( files() )
            files()=dirName+name$
        EndSelect
      Wend
      FinishDirectory(dir)
    EndIf
  EndIf
EndProcedure

dir$=ProgramParameter(0)
getFileList(dir$, files() )


filename$="-list-"
i=1
While ReadFile(0, dir$+filename$ + RSet(Str(i),2,"0") + ".txt")
  i+1
  CloseFile(0)
Wend

If CreateFile(0, dir$+filename$ + RSet(Str(i),2,"0") + ".txt" )
  WriteStringN(0,dir$)
  WriteStringN(0,"")
  ForEach files()
    PrintN(files())
    WriteStringN(0, files() )
  Next
  CloseFile(0)
EndIf
my pb stuff..
Bild..jedenfalls war das mal so.
Antworten