Avatar billede bgjensen Nybegynder
20. november 2000 - 17:36 Der er 33 kommentarer og
1 løsning

Kopier skrivebordets indhold

Jeg skal have lavet et program som kan kopiere indholdet af skrivebordet, til en mappe med dagens dato.
Jeg tror det kan lade sig gøre med en batch fil!! Den skal kopiere indeholdet af mappe C:\\Windows\\Skrivebord\\ til en anden mappe!!
Avatar billede bgjensen Nybegynder
20. november 2000 - 17:45 #1
Den skal køre under opstart!!
Avatar billede teknik Juniormester
20. november 2000 - 17:48 #2
Lav en tekstfil hvor der står:

C:
CD \\
md backup
cd backup
md skrivebord
copy c:\\windows\\skrivebord\\*.* c:\\backup\\skrivebord

Avatar billede teknik Juniormester
20. november 2000 - 17:49 #3
...så skal den samme tekst tilføjes i slutningen af din autoexec.bat fil.
Avatar billede bgjensen Nybegynder
20. november 2000 - 17:50 #4
Den skulle jo helst lave en mappe med dagens dato!!
Avatar billede teknik Juniormester
20. november 2000 - 17:52 #5
UUUUUUUppps...jeg overså det med \"dags dato\"....den kan jeg ikke klare.
..sorry..:-(
...mit forslag opretter blot en
c:\\backup\\skrivebord      folder
Og kopierer derefter filer & genveje fra skrivebordet derover.
...der er også en lille \"mangel\" undermapper kommer nemlig ikke med når man blot bruger copy...
Avatar billede bgjensen Nybegynder
20. november 2000 - 17:55 #6
Der kan bare bruge xopy *.* /s

Men indeholdet skal kopiers over i en mappe med dagens dato!!
Avatar billede mushie Nybegynder
20. november 2000 - 18:31 #7
For at lave en mappe med dags dato skriver du:
md %date%

::mushie
Avatar billede mushie Nybegynder
20. november 2000 - 19:28 #8
Nhaaah. Det var sgu ikke rigtigt. Sorry.
Det er desværre ikke helt så ligetil.

Du kan finde en forklaring her: http://www.calweb.com/~webspace/batch/samples/namedate.txt
på hvordan du putter date og time i en variabel, som du derefter kan bruge til at navngive filer og mapper.
Avatar billede bgjensen Nybegynder
20. november 2000 - 21:46 #9
mushie >> Jeg kan ikke få det til at virke, men hvis du kan lave det så det virker, kan du godt få lidt flere point!!
Avatar billede mushie Nybegynder
21. november 2000 - 11:34 #10
gunni42 >> Jeg sidder pü en maskine med tysk Win NT og jeg kan desvörre heller ikke fä det til at virke.
Og nu skal jeg til at tjene nogle penge :-) sä desvärre.
::mushie
Avatar billede bgjensen Nybegynder
21. november 2000 - 20:05 #11
Jeg mangler bare at få oprette de mapper med dagens dato, jeg kan ikke få det til at virke!!!
Jeg har kigget på linket fra mushie, men kan ikke finde ud af hvad \"Current\" bruges til!!!
Nogen som kan hjælpe???
Avatar billede frn Nybegynder
22. november 2000 - 11:32 #12
Hej Du Kan lave et lille script i VBS det skal se sådan her ud

tag teksten mellem de to stiplede linier kopier dem ind i en textfil F.eks (c:\\data\\nyfolderdato.txt)
ændre navnet til nyfolderdato.vbs
når du dobbeltklikker på denne fil så vil den lave en folder med datoen MM-DD-YYYY hvis dit ur i pc\'en er sat sådan op. folderen vil i dette script ligge på C:\\22-11-2000
hvis du vil ligge folderen et andet sted skal du redigere C:\\ til f.eks C:\\my documents så vil folder blive lavet i C:\\my documents. For at det skal virke så skal den folder du laver en ny folder i eksistere så hvis du vil lave folderen i My Ducuments i stedet så skal My Documents eksistere. Håber du kan bruge det.
-------------------------------------------

Dim fso, f, GetDate
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  GetDate = date
  fso.CreateFolder(\"c:\\\" & GetDate)

-----------------------------------------------
Avatar billede bgjensen Nybegynder
22. november 2000 - 15:33 #13
frn >> Det script virker perfekt til at oprette mapper med dagens dato, men kan man også få den til at tilføje tiden, så mappens navn består af datoen og tiden???
Hvis man laver en bat fil som teknik beskriver kan kan så bruge komandoen \"call\" til at hente den fil som du lavede??
Avatar billede bgjensen Nybegynder
22. november 2000 - 15:46 #14
Hvordan får man så en bat fil til at kopiere indeholdet af skrivebordet over til den nye mappe med dagens dato?? Jeg kan ikke godt finde ud af at få den til at kopiere ind i den mappen som jeg lige har lavet.

Det fungere på denne måde:

Først køres scriptet fra frn, så har man en mappe med dagens dato!!
Så starter bat filen (start.bat) som ser sådan ud:

@echo off
xcopy c:\\windows\\skrivebord\\*.* /s c:\\(Her skal den så selv skrive dagens dato)

Men hvordan gør man det???
Avatar billede frn Nybegynder
23. november 2000 - 09:19 #15
Jeg har tænkt på det med time, mit problem er at den skriver \":\" imellem tiden, og man kan ikke lave mapper der indeholder dette tegn, jeg vil lige prøve om jeg kan filtrere det fra i scriptet samt tilføje det, Jeg vil samtidig se om jeg kan få scriptet til at kopirer for dig.
Avatar billede bgjensen Nybegynder
23. november 2000 - 09:25 #16
Tak frn, det ville være perfekt!!
Avatar billede frn Nybegynder
23. november 2000 - 09:51 #17
Jeg Har Lavet Lidt om på scriptet, det levere på nuværende tidspunt en mappe der ser sådan her ud \"23-11-2000 9 47 28\"
Den symbolicere Dato, Time, Minut, sekund. Jeg har desuden lavet det så man definere folderens destinationsnavn i linie hvor der står Myfolder, standard er stadig C:\\. Jeg vil ved bedre lejlighed kigge på at få scriptet til at kopirer din desktop / Skrivebord ind i denne mappe.


------------------------------------------------------

Dim fso, f, GetDate, NewFolderName, GetTime, MyShortTime
 
Set fso = CreateObject(\"Scripting.FileSystemObject\")

GetDate = date

GetTime = time
GetHour = Hour(GetTime)
GetMinute = Minute(GetTime)
GetSecond = Second(GetTime)
SampleDate = GetDate & \" \" & GetHour & \" \" & GetMinute & \" \" & GetSecond
MyFolder = \"C:\\\" & SampleDate

fso.CreateFolder(MyFolder)
-----------------------------------------------------
Avatar billede frn Nybegynder
23. november 2000 - 09:59 #18
Næste gang jeg smider et script in vil der bag nogle af linerne stå noget lignende dette \' Create destination folder
Avatar billede bgjensen Nybegynder
23. november 2000 - 10:10 #19
Skal jeg forvente at du laver det script som kopiere, snart, eller skal jeg glemme det??
Du kan godt få flere point hvis det er det som trykker!!
Avatar billede frn Nybegynder
23. november 2000 - 10:14 #20
Det er bare en komentar, men jeg skal lige undersøge hvordan man kopiere i scriptet, så labver jeg det, måske senere i dag
Avatar billede frn Nybegynder
23. november 2000 - 10:16 #21
Det med det der står bag linierne er bare for at fortælle at når der i scriptet står \"\'\" foran så er der bare en tekst, for det meste en forklaring på linien
Avatar billede bgjensen Nybegynder
23. november 2000 - 10:21 #22
Den måde den opretter mapper på er perfekt, men den laver fejl hvis man kører scriptet lige efter hinanden, så den opretter 2 mapper med samme tekst, men det sker jo ikke når den kun bliver kørt under opstart.
Jeg ville blive glad hvis du gad prøve at lave den så den kopiere!!!
Avatar billede frn Nybegynder
23. november 2000 - 10:42 #23
Jeg kan forstå at den vil lave fejl hvis du når at trykke inden for samme sekund, for så vil den lave 2 mapper med samme navn det kan man ikke.
Avatar billede frn Nybegynder
23. november 2000 - 12:42 #24
Nu laver scriptet en mappe i C:\\ Kopiere Filer fra C:\\windows\\skrivebord til den nye mappe, det er samme fremgangsmetode for at lave filen, ind med teksten i en textfil, lav efternavnet im til vbs. Hvis Lokationen hvor mappen skal laves ikke existere vil scriptet fejle, og det vil fejle hvis den mappe der skal kopieres fra ikke eksistere.

----------------------------------------------------

\' This script creates a folder in [CreateFolder] Catalog with todays name and time, then it copyes files
\' From [CopyFromFolder] to the new folder


Dim fso, GetDate, GetTime, GetMinute, GetSecond, SampleDate, CreateFolder, CopyFromFolder
 
Set fso = CreateObject(\"Scripting.FileSystemObject\") \'define name to create folders

GetDate = date

GetTime = time
GetHour = Hour(GetTime)
GetMinute = Minute(GetTime)
GetSecond = Second(GetTime)
SampleDate = GetDate & \" \" & GetHour & \" \" & GetMinute & \" \" & GetSecond
CreateFolder = \"C:\\\" & SampleDate \' define the destination folder to create or copy to
CopyFromFolder = \"C:\\Windows\\skrivebord\" \' The Folder To Copy from including wich files or filetype you want


fso.CreateFolder(CreateFolder) \' Create the destination folder

fso.CopyFolder CopyFromFolder, CreateFolder

\'msgbox (\"Filer Fra Mappen [\" & CopyFromFolder & \"] er kopieret til [\" & CreateFolder & \"]\") \' For test purpose

-----------------------------------------------------------
Avatar billede bgjensen Nybegynder
23. november 2000 - 12:58 #25
Jeg tester det når jeg kommer hjem, så kan du få dine point senere!!
Avatar billede bgjensen Nybegynder
23. november 2000 - 14:02 #26
frn >> Det virker OK, jeg havde bare lavet en fejl da jeg oprettede spørgsmålet, det er ok den kopiere indholdet, men det skal slettes efter det er blevet kopieret. Man kan enten ændre i det script som du har lavet, men det tager sikkert lang tid. Man kan også starte et batch program når den har kopieret filerne. Jeg har selv batch programet men hvordan får man dit script til at starte en batch fil (slet.bat). Man kan også ligge dem i start menuen, men er man så sikker på at de kører i den rækkefølge som de ligger i??
Det bedste ville være at starte slet.bat fra scriptet, så er man sikker på det bliver gjordt rigtigt!!
Avatar billede frn Nybegynder
23. november 2000 - 15:49 #27
Skal svcriptet slette hele foldere eller indholdet / dokumenterne i folderen
Avatar billede frn Nybegynder
23. november 2000 - 15:53 #28
Et spørgsmål mere, det er også en idé at det bliver flyttet i stedet for at blive slettet bag efter. Your Choise
Avatar billede teknik Juniormester
23. november 2000 - 17:58 #29
>>frn
Jeg har testet dit script, - ændrede blot destinations-folderen til c:\\backup...osv,
men det virker bare perfekt !!
....Kvalitetsvare!!

...Blot må jeg ligge huske, at undlade alt for mange foldere på 100MB+ på skrivebordet...

.....Jeg drømmer om at udvide det til at omfatte de ting jeg nødigst vil miste, dvs. mail\'s, mailadresser, samt foretrukne & dokumenter folderne.
Og derefter at kunne gendanne dem i en ny installation ved at køre et \"gendan xx\" script
....Det er ikke ment som en opfordring til mere script skriveri....
-Med det råmateriale du har leveret, så burde jeg vel også mere eller mindre selv kunne stykke det sammen.

Avatar billede bgjensen Nybegynder
23. november 2000 - 20:14 #30
frn >> det ville være perfekt hvis man kunne få det script som du har lavet, til at starte et program som heder slet.bat (som sletter filerne)
Kan man det???
Avatar billede frn Nybegynder
24. november 2000 - 13:24 #31
Jeg kan ikke lige finde ud af hvordan man starter et object op som et eksternt script, nmen jeg vil da undersøge det, jeg skal se hvor meget tid jeg har i dag ellers bliver det først på mandag.
Avatar billede bgjensen Nybegynder
24. november 2000 - 16:44 #32
frn >> OK tak.
Avatar billede frn Nybegynder
27. november 2000 - 10:37 #33
Nu er scriptet lavet om endu engang, du skal nok kopirer det hele ind igen, jeg har lavet ændringer 3 steder, øverst er tilføjet WSH under DIM, Der er et par linjer længere ned sat en linje ind der definere WSH den sidste linje i Scriptet vil starte en batch der ligger på C:\\windows\\slet.bat, di kan selv ændre denne streng hvis du har filen liggende andet steds. Anden sidste linje er blot en tekstboks der fortæller hvilken mappe der oprettet samt hvilken ,mappe der er kopieret fra. god fornøjelse.

PS det skulle hvist være alt.

----------------------------------------------------------

\' This script creates a folder in [CreateFolder] Catalog with todays name and time, then it copyes files
\' From [CopyFromFolder] to the new folder

Dim fso, GetDate, GetTime, GetMinute, GetSecond, SampleDate, CreateFolder, CopyFromFolder, WSH
 
Set fso = CreateObject(\"Scripting.FileSystemObject\") \'define name to create folders
Set WSH = WScript.CreateObject(\"WScript.Shell\") \'define name to run shells

GetDate = date

GetTime = time
GetHour = Hour(GetTime)
GetMinute = Minute(GetTime)
GetSecond = Second(GetTime)
SampleDate = GetDate & \" \" & GetHour & \" \" & GetMinute & \" \" & GetSecond
CreateFolder = \"C:\\\" & SampleDate \' define the destination folder to create or copy to
CopyFromFolder = \"C:\\Windows\\skrivebord\" \' The Folder To Copy from including wich files or filetype you want


fso.CreateFolder(CreateFolder) \' Create the destination folder

fso.CopyFolder CopyFromFolder, CreateFolder
\'fso.DeleteFolder(CopyFromFolder)

msgbox (\"Filer Fra Mappen [\" & CopyFromFolder & \"] er kopieret til [\" & CreateFolder & \"]\") \' For test purpose

WSH.Run (\"C:\\windows\\slet.bat\") \'Runs an external file

----------------------------------------------------------
Avatar billede frn Nybegynder
27. november 2000 - 10:41 #34
PS til ovenstående script der er samtidig lagt en streng ind på 3. sidste linje der IKKE bliver udført denne streng kan slette en folder hvis man hellere vil bruge den i stedet for at kører et eksternt script.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester