Computergenie.nl    

Computergenie.nl
  Registreer!
  Registreer
Homepage
Home
Top 10
Top 10
Forum
Forum
Prijsindex
Prijsindex
Nieuws
Nieuws
Downloads
Downloads
Hulp & Uitleg
Hulp & Uitleg
Uitgebreid zoeken
 
  Zoeken •  Gebruikerslijst  •  Gebruikersgroepen   •  Registreer  •  Profiel  •  Log in om je privť berichten te bekijken  •  Ben je al lid?  Log in! 
Ben je al lid?  Log in!
Kies uw onderwerp:
Computer-Cafť
Knowledge Base
Hardware
Software
Internet & netwerken
Games
Scripten & programmeren
Digitale fotografie & video
Multimedia
GSM & mobile
Sitecheck & links
OfficiŽle mededelingen
Feedback
ISL Light
Aanbiedingen
Markt-plaats
Hulp & Uitleg

Sponsors:

Cloud VPS

Relaties:

PC Beveiliger
Forum » Scripten & programmeren » Voortgang kopiŽren
[OVERIG]  Voortgang kopiŽren

Nieuw onderwerpNieuw antwoord
De Hulk Bericht Geplaatst op 06-12-2007 Reageer met quote
Gevorderd lid
Onderstaande vraag trof ik aan op een collega computerforum. Zijn hier nog mensen die daar verstand van hebben, die al eens zo'n script gemaakt hebben of weten te vinden? Groeten, De Hulk. :shock:

Hallo mensen,
kan iemand mij helpen. Ik heb een bat bestand gemaakt voor mij, om makkelijk te kunnen werken. Ik heb een bat bestand gemaakt als je het bestand opent dat de ARCHIVE.PST geheel gekopieerd wordt waar ik heb hebben wil. Dat is gelukt.
Nu wil een script eraan plakken, als de ARCHIVE.PST word gekopieerd dat hij ook de procenten en/of tijd aan geeft hoe ver hij is met kopiŽren.
V.B.

Code:
@echo off
ECHO Uw archive('s) worden gekopieerd. Een ogenblik geduld A.U.B.
MKDIR "G:\Back_Up_C_Schijf"
%SystemDrive%
CD %USERPROFILE%\Local Settings\Application Data\Microsoft\Outlook
COPY ar*.pst G:\Back_Up_C_Schijf
ECHO
ECHO.
ECHO Uw Archive('s) zijn gekopieerd naar de G:\... (schijf)
ECHO.
pause
exit

Ik het script hebt gemaakt voor op mijn werk. De .pst bestanden kunnen wel tot 3 ,4 GB zijn.

Bron: System2
vosManz | Code-tags toegevoegd

vosManz Bericht Geplaatst op 06-12-2007 Reageer met quote
Technische man
Het kan denk ik niet met een dos-batch bestand.

Maar ik denk dat je met KiXtart dit probleem op kan lossen.
Je hebt daarvoor wel een apart programma nodig, welke je hier kan downloaden: http://www.kixtart.org/downloads/ (download de current release, op dit moment KiXtart 2010 4.53)
Met KiXtart kun je erg veel doen, en het zijn ook een soort batch-scripts. Je kan van alles doen met de standaard-commando's, maar ook eigen functies maken.

Hier is een functie waarmee je een bestand kunt kopieren en verplaatsen, en je ook de voorgang kunt zien in de vorm van de standaard progress-bar van windows.

Code:
Function GUICopy( $sSrc, $sDest, OPTIONAL $lFlags, OPTIONAL $bMove )
   Dim $sVer,$objShell,$objFldr
   If Not Exist( $sSrc ) Exit 2 Endif
   If Not Exist( $sDest ) Exit 3 Endif
   If @INWIN=1
      $sVer=GetFileVersion( %WINDIR%+"\System32\Shell32.dll", "FileVersion" )
   Else
      $sVer=GetFileVersion( %WINDIR%+"\System\Shell32.dll", "FileVersion" )
   Endif
   If $sVer < "4.71" Exit 10 Endif
   $objShell = CreateObject( "Shell.Application" )
   $objFldr = $objShell.NameSpace($sDest)
   If @ERROR < 0 Exit VAL( "&"+Right( DecToHex( @ERROR ), 4 ) ) EndIf
   Select
      Case $bMove = 1 $objFldr.MoveHere( $sSrc, $lFlags )
      Case $bMove = 0 $objFldr.CopyHere( $sSrc, $lFlags )
      Case 1 Exit 87
   EndSelect
   If @ERROR < 0 Exit VAL( "&"+Right( DecToHex( @ERROR ), 4 ) ) EndIf
   Exit @ERROR
EndFunction

? "Uw archive('s) worden gekopieerd. Een ogenblik geduld A.U.B."
md( "C:\Users\Ruud\Desktop\KiX\KiX2010.453\2\" );
GUICopy("%USERPROFILE%\Local Settings\Application Data\Microsoft\Outlook\ar*.pst", "G:\Back_Up_C_Schijf\")
? @SERROR


Sla het bestand op als backup.kix (of een andere naam, ik gebruik backup.kix even als voorbeeld). Om dit script te gebruiken, kun je het beste de twee exe-bestanden kix32.exe en wkix32.exe in dezelfde map als het script-bestand zetten, of in de map c:\windows\system32.

Vervolgens kun je het script aanroepen met:
Code:
kix32 "c:\map\naar\backup.kix"

Je kan deze code uitvoeren in de command prompt, in het uitvoeren-venster, of in een dos-batchbestand. Als je met de command-prompt of het batchbestand al in dezelfde map zit als backup.kix hoef je er geen map voor te zetten, dus gewoon: kix32 backup.kix

Voor de volledigheid, en als je wat geavanceerder gebruik wil maken van KiXtart en dit script, je kan het script ook aanpassen, door de functie GUICopy anders aan te roepen.
Code:
GUICopy( "c:\bronmap\*.file", "c:\doelmap\", flag, move)

Hierbij kan 'flag' de volgende waarde hebben:
4 - Do not display a progress dialog box.
8 - Give the file being operated on a new name in a move, copy, or rename operation if a file with the target name already exists.
16 - Respond with "Yes to All" for any dialog box that is displayed.
64 - Preserve undo information, if possible.
128 - Perform the operation on files only if a wildcard file name (*.*) is specified.
256 - Display a progress dialog box but do not show the file names.
512 - Do not confirm the creation of a new directory if the operation requires one to be created.
1024 - Do not display a user interface if an error occurs.
2048 - Version 4.71. Do not copy the security attributes of the file.
4096 - Only operate in the local directory. Don't operate recursively into subdirectories.
8192 - Version 5.0. Do not copy connected files as a group. Only copy the specified files.

Hierbij kan 'move' de volgende waardes hebben (als je deze optie niet gebruikt, zal deze standaard 0 zijn):
0 - Kopieer het bestand
1 - Verplaats het bestand

Verder kun je met @ERROR de foutcode's afvangen, nu worden met @SERROR de foutcodes textueel weergegeven. De volgende foutcodes kunnen voorkomen:

@ERROR = 0 - The operation completed successfully.
@ERROR = 2 - The system cannot find the file specified. (Refers to Source file.)
@ERROR = 3 - The system cannot find the path specified. (Bad destination path.)
@ERROR = 9 - The storage control block address is invalid. (Most likely cancelled copy.)
@ERROR = 10 - The environment is incorrect. (Incorrect Shell32.dll version.)
@ERROR = 87 - The parameter is incorrect. (Use 0 or 1 to specify Copy or Move.)




::: vosManz :::
SystemZ Bericht Geplaatst op 06-12-2007 Reageer met quote
Nieuw lid
Hallo,

Ik heb het script eens geprobeerd maar ik krijg een error
Dit is de fout dat ik krijg
" ERROR : failed to find/open script [backup.kix]!"

heb een aantal aangepast

Code:

Function GUICopy( $sSrc, $sDest, OPTIONAL $lFlags, OPTIONAL $bMove )
   Dim $sVer,$objShell,$objFldr
   If Not Exist( $sSrc ) Exit 2 Endif
   If Not Exist( $sDest ) Exit 3 Endif
   If @INWIN=1
      $sVer=GetFileVersion( %WINDIR%+"\System32\Shell32.dll", "FileVersion" )
   Else
      $sVer=GetFileVersion( %WINDIR%+"\System\Shell32.dll", "FileVersion" )
   Endif
   If $sVer < "4.71" Exit 10 Endif
   $objShell = CreateObject( "Shell.Application" )
   $objFldr = $objShell.NameSpace($sDest)
   If @ERROR < 0 Exit VAL( "&"+Right( DecToHex( @ERROR ), 4 ) ) EndIf
   Select
      Case $bMove = 1 $objFldr.MoveHere( $sSrc, $lFlags )
      Case $bMove = 0 $objFldr.CopyHere( $sSrc, $lFlags )
      Case 1 Exit 87
   EndSelect
   If @ERROR < 0 Exit VAL( "&"+Right( DecToHex( @ERROR ), 4 ) ) EndIf
   Exit @ERROR
EndFunction

? "Uw archive('s) worden gekopieerd. Een ogenblik geduld A.U.B."
md( "D:\Documents and Settings\SystemZ\Bureaublad\test\KiX2010.453\" );
GUICopy("All_Songs.mp3", "E:\", flag, move)
? @SERROR


renevanh | Graag code tussen de [ code ] tag zetten ivm overzichtelijkheid

vosManz Bericht Geplaatst op 06-12-2007 Reageer met quote
Technische man
Die fout krijg je omdat het bestand niet gevonden is, je hebt dus waarschijnlijk het pad verkeerd.

De aanpassing die je gemaakt hebt is geen functionele aanpassing. Enkel de bestandspaden zijn anders, of heb ik het nu mis?

Je kan overigens beter gebruik maken van volledige paden, dan kun je het script ook in een andere map gebruiken. En in de een na laatste regel van je script horen die flag en move niet te staan. Deze horen een getal te zijn zoals aangegeven in mijn post. Je kan ze echter beter weglaten als je er geen gebruik van maakt, ze zijn optioneel.




::: vosManz :::
Nieuw onderwerpNieuw antwoord   


Forum » Scripten & programmeren » Voortgang kopiŽren

Powered by Cloud VPS - High Availability Cloud Servers