Toon posts:

[2000] Automatisch folder structuur aanmaken*

Pagina: 1
Acties:
  • 820 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hey,

Ik heb hier op mijn werk een win2000 file server draaien. De file server wordt gebruikt voor verschillende projecten.
Om het een beetje netjes te houden hebben we een mapstructuur bedacht, dat voor elk nieuw project gebruikt wordt.

Momenteel gebruik ik een dummy map structuur, dat ik elke keer als er een nieuw project komt, copy/paste in een nieuwe projectmap.

Is er een mogelijkheid om bv een batch bestand te maken die je runt, die dan vraagt hoe de hoofdmap genoemd moet worden, om vervolgens die hoofdmap aan te maken en alle standaard submappen erin creeerd? Zodat als iemand een nieuw project aanmaakt, degene met 1 druk op de knop en invoeren van de hoofdnaam klaar is?

Ik ben geen expert in het maken van .bat bestanden maar volgens mij is zoiets wel mogelijk.

Iemand hier ervaring mee?

  • max
  • Registratie: Juni 2001
  • Niet online

max

a.k.a. Bezwaarbaard

Dit is gewoon simpel "md dirnaam", "cd dirnaam", md volgendedirnaam" werk. Dat vragen naar input van de user (hoe heet de hoofdmap) kan ook. Weet alleen even niet hoe maar dat kun je door zelf wat te zoeken op bijv. 'batch userinput" bij Google zelf ook wel vinden.

:)

Bald by design, beard by choice.

Inzien dat je iets niet weet, is belangrijker dan alles weten.


Verwijderd

Topicstarter
Thnx, die mappen aanmaken etc is niet zo'n probleem inderdaad, het gaat me dan ook meer om het aanmaken van een nieuwe map, die gemaakt/renamed wordt doormiddel van het invoeren van de naam.

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Kun je niet eenvoudiger gebruikmaken van een dummy.zip waarin je deze folderstructuur en eventuele bestanden opneemt? Iemand kan dan zelf de folder aanmaken en de zip daarin extracten. Eventueel zou je hier met wat scripting ook een batch interface voor kunnen maken :) Op wat voor client moet je precies scripten? Of zou dit direct op de 2k server gebeuren?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Topicstarter
Spider.007 schreef op 26 augustus 2004 @ 10:55:
Kun je niet eenvoudiger gebruikmaken van een dummy.zip waarin je deze folderstructuur en eventuele bestanden opneemt? Iemand kan dan zelf de folder aanmaken en de zip daarin extracten. Eventueel zou je hier met wat scripting ook een batch interface voor kunnen maken :) Op wat voor client moet je precies scripten? Of zou dit direct op de 2k server gebeuren?
Ja zo ongeveer gebeurt het nu inderdaad. Er staat een dummy folder op de server, en die wordt nu elke keer gekopieerd naar de file server als er een nieuw project komt, en de hoofdmap wordt dan handmatig gewijzigd. Maar omdat de mensen die met de projecten werken, het zelf doen (niet de administrator) is er wel eens kans dat ze het op de verkeerde plek zetten etc. Nou heb ik het wel al voor elkaar dat die dummy door middel van een batch bestand gekopieerd wordt. Maar het lijkt me ook handig dat dus de hoofdmap gerenamed wordt naar wat men invult in het batch script.

het script staat op de server en wordt door users die via het netwerk connecten handmatig uitgevoerd indien er een nieuw project is

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Jouw situatie komt me heel bekend voor, ik heb het idee dat jouw exacte vraag al een aantal keer eerder is gevraagd. Heb je al eens rondgekeken op GoT - je bent iig niet de enige die op deze manier werkt ;)

Verder - je kan met:

code:
1
set /p mapnaam=Geef de map naam:


om de map naam vragen - met een stukje VBScripting zou je dat ook nog grafisch kunnen verpakken :)

Verwijderd

Ik werk met het zelfde systeem als wat jij wil volgens mij:

Dummy map met volledige boomstructuur en met alle rechten
- Bat script wat ik elke nacht laat uitvoeren door middel van :
code:
1
2
3
4
5
6
7
8
9
if not exist project1 robocopy "0000 leeg project" project1 /MIR /SEC
if not exist project2 robocopy "0000 leeg project" project2 /MIR /SEC
if not exist project3 robocopy "0000 leeg project" project3 /MIR /SEC
if not exist project4 robocopy "0000 leeg project" project4 /MIR /SEC
if not exist project5 robocopy "0000 leeg project" project5 /MIR /SEC
if not exist project6 robocopy "0000 leeg project" project6 /MIR /SEC
if not exist project7 robocopy "0000 leeg project" project7 /MIR /SEC
if not exist project8 robocopy "0000 leeg project" project8 /MIR /SEC
if not exist project9 robocopy "0000 leeg project" project9 /MIR /SEC

Hier voor heb je het programmaatje Robocopy.exe voor nodig. Die je via de ms site volgens mij wel kan downloaden. (Resource kit)
Script wordt door op de w2kserver elke nacht uitgevoerd doro middel van schedule tasks. En onder het admin account. (Anders ben je je rechten kwijt.)

Ik gebruik robocopy voor het kopieeren van de rechten.

De receptie veranderd de naam van de projecten, daar hebben zij alleen genoeg rechten voor.

Mijn oude script:
code:
1
2
3
4
5
6
@echo off
cls
SET /P variable=Naam van het nieuwe project:
robocopy "0000 leeg project" "%variable%" /MIR /SEC
cls
Echo U kunt dit venster sluiten.

[ Voor 12% gewijzigd door Verwijderd op 27-08-2004 12:58 ]


  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

heb je hier wat aan?
Is een vbscript
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
MakeSureDirectoryTreeExists "D:\one\two\three"


Function MakeSureDirectoryTreeExists(dirName)

    ' Creates the FSO object.
    Set fso = CreateObject("Scripting.FileSystemObject")

    ' Checks the folder's existence.
    If Not fso.FolderExists(dirName) Then

        ' Splits the various components of the folder name.
        aFolders = split(dirName, "\")

        ' Obtains the drive's root folder.
        newFolder = fso.BuildPath(aFolders(0), "\")
    
        ' Scans each component in the array, and create the appropriate folder.
        For i=1 to UBound(aFolders)
            newFolder = fso.BuildPath(newFolder, aFolders(i))

            If Not fso.FolderExists(newFolder) Then
                fso.CreateFolder newFolder
            End If
        Next
    End If
End Function
Pagina: 1