Opgelost IF EXIST dan map maken op aangesloten schijf en in de betreffende map op E:

Dit topic is als opgelost gemarkeerd

Senso

Inventaris
Lid geworden
13 jun 2016
Berichten
11.028
Besturingssysteem
W10 Pro en W11 Pro
Office versie
Office 2007 H&S en Office 2021 Prof Plus
Allemaal losse batch files was niet om te doen. Echter deze code werkt niet helemaal goed. Bedoeling is mappen met volumenaam en Volume Serial Number (van die schijf bijvoorbeeld H:) aanmaken op aangesloten schijven (H:) en ook altijd van die aangesloten schijf H: in de map van "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
Daar gaat het fout want die pakt de gegevens van de E en niet van de betreffende schijf.
PHP:
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
A:
vol A:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
rem
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
rem
A:
vol A:
IF EXIST A: mkdir "A:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST A: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
B:
vol B:
IF EXIST B: mkdir "B:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST B: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
C:
vol C:
IF EXIST C: mkdir "C:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST C: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
D:
vol D:
IF EXIST D: mkdir "D:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST D: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
E:
vol E:
IF EXIST E: mkdir "E:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST E: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
F:
vol F:
IF EXIST F: mkdir "F:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST F: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
G:
vol G:
IF EXIST G: mkdir "G:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST G: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
H:
vol H:
IF EXIST H: mkdir "H:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST H: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
I:
vol I:
IF EXIST I: mkdir "I:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST I: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
J:
vol J:
IF EXIST J: mkdir "J:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST J: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
K:
vol K:
IF EXIST K: mkdir "K:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST K: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
L:
vol L:
IF EXIST L: mkdir "L:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST L: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
M:
vol M:
IF EXIST M: mkdir "M:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST M: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
N:
vol N:
IF EXIST N: mkdir "N:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST N: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
O:
vol O:
IF EXIST O: mkdir "O:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST O: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
P:
vol P:
IF EXIST P: mkdir "P:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST P: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
Q:
vol Q:
IF EXIST Q: mkdir "Q:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST Q: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
R:
vol R:
IF EXIST R: mkdir "R:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST R: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
S:
vol S:
IF EXIST S: mkdir "S:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST S: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
T:
vol T:
IF EXIST T: mkdir "T:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST T: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
U:
vol U:
IF EXIST U: mkdir "U:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST U: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
V:
vol V:
IF EXIST V: mkdir "V:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST V: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
W:
vol W:
IF EXIST W: mkdir "W:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST W: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
X:
vol X:
IF EXIST X: mkdir "X:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST X: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
Y:
vol Y:
IF EXIST Y: mkdir "Y:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST Y: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
rem
Z:
vol Z:
IF EXIST Z: mkdir "Z:\_INFO_X _A5_ %vol%- %serial%\"
IF EXIST Z: mkdir "E:\Lijst van volumenamen en VSN van alle schijven\_INFO_X _A5_ %vol%- %serial%\"
pause
 
Laatst bewerkt:
gebruik de juiste bibliotheek:

Code:
Sub M_snb()
  with createobject("scripting.filesystemobject")
    for each it in .drives
       Msgbox it.rootfolder & vbtab & it.Volumename & vbtab & it.serialnumber
    next
  end with
End Sub
 
Ik werk met een batch file. Zou niet weten wat ik met die code moet doen.
 
Heb je wel eens van het programma Excel gehoord ?
Doet het begrip macro een bel bij je rinkelen ?
 
Als ik niet weet wat Ik aan het doen ben, hoe krijg ik dan het gewenste resultaat. Waar stuur jij in jouw code de mappen naar toe? Als ik daar geen zicht op heb wordt het een puinhoop. Er zijn twee bestemmingen.
 
Je kunt de code:
- lezen
- analyseren
- testen
 
Een stapje hoger dan een batch file is Visual Basic Script, dan hoef je er geen VBA voor te gebruiken.
Zet dit in een bestandje met de extensie .vbs, sla deze op en dubbelklik er dan op.
De betreffende mappen worden dan gemaakt als ze niet bestaan:
Code:
Set fs = CreateObject("Scripting.FileSystemObject")
For Each dr in fs.drives
    Fldr = dr.rootfolder & dr.Volumename & "_" & dr.serialnumber
    If Not fs.FolderExists(Fldr) Then fs.CreateFolder(Fldr)
Next
 
Probeer het eens met deze twee commandfiles, DriveInfo.cmd wordt aangeroepen door Test.cmd.
Test.cmd:
Code:
@echo off
FOR %%D IN (C,D,E,F) DO IF EXIST %%D: CALL DriveInfo.cmd %%D
DriveInfo.cmd:
Code:
@echo off
if not exist %1: goto einde
echo %1
%1:
for /f "tokens=6" %%t in ('vol') do @set volid=%%t
echo %volid%

for /F "skip=1 tokens=5" %%a in ('vol') do set Serial=%%a
echo %serial%
:einde

De mkdir mag je er zelf bij zetten.
 
En?
Heb je al gekozen wat je wilt gebruiken?
 
Ja, helaas heb ik deze keer niets aan de aangedragen suggesties. Te ingewikkeld en door jullie zelf niet getest denk ik. Ik krijg niet het resultaat wat ik wil hebben. Ik heb er al veel tijd ingestoken en zonder afgeronde oplossingen kost het mij weer een halve dag. Onmogelijk.

Ik heb nu uit een andere topic de opdrachtregels van AHulpje, had ik 24 bestanden van gemaakt, dat was onwerkbaar, samengevoegd met online converter en aangepast en die werkt vlot en vlekkeloos.

Omdat 24 bestanden onwerkbaar was en de aanvulling van een kopie, heb ik deze vraag gesteld. Het is goed zo. Bedankt voor de hulp. 👍

PHP:
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
rem Doel: Maak dezelfde map aan in E:\Lijst van volumenamen en VSN van alle schijven (niet gelukt)
A:
vol A:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
mkdir "A:\_INFO_X _A5_ %vol%- %serial%\"
rem rem start "" "A:\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
B:
vol B:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
rem mkdir "B:\_INFO_X _A5_ %vol%- %serial%\"
rem start "" "B:\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
C:
vol C:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
rem mkdir "C:\_INFO_X _A5_ %vol%- %serial%\"
rem start "" "C:\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
D:
vol D:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
rem mkdir "D:\_INFO_X _A5_ %vol%- %serial%\"
rem start "" "D:\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
E:
vol E:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
rem mkdir "E:\_INFO_X _A5_ %vol%- %serial%\"
rem start "" "E:\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
F:
vol F:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
mkdir "F:\_INFO_X _A5_ %vol%- %serial%\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
G:
vol G:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
mkdir "G:\_INFO_X _A5_ %vol%- %serial%\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
H:
vol H:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
rem mkdir "H:\_INFO_X _A5_ %vol%- %serial%\"
rem start "" "H:\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
I:
vol I:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
rem mkdir "I:\_INFO_X _A5_ %vol%- %serial%\"
rem start "" "I:\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
J:
vol J:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
mkdir "J:\_INFO_X _A5_ %vol%- %serial%\"
rem start "" "J:\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
K:
vol K:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
mkdir "K:\_INFO_X _A5_ %vol%- %serial%\"
rem start "" "K:\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
L:
vol L:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
mkdir "L:\_INFO_X _A5_ %vol%- %serial%\"
rem start "" "L:\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
M:
vol M:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
mkdir "M:\_INFO_X _A5_ %vol%- %serial%\"
rem start "" "M:\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
N:
vol N:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
mkdir "N:\_INFO_X _A5_ %vol%- %serial%\"
rem start "" "N:\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
O:
vol O:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
mkdir "O:\_INFO_X _A5_ %vol%- %serial%\"
rem start "" "O:\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
P:
vol P:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
mkdir "P:\_INFO_X _A5_ %vol%- %serial%\"
rem start "" "P:\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
Q:
vol Q:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
mkdir "Q:\_INFO_X _A5_ %vol%- %serial%\"
rem start "" "Q:\"
rem ------------------------------------
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
R:
vol R:
rem Dit was/voorheen for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
mkdir "R:\_INFO_X _A5_ %vol%- %serial%\"
rem start "" "R:\"
rem ------------------------------------

etc.
 
Laatst bewerkt:
Mijn voorbeeld maakt per schijf in de root van de schijf een map met als naam de volumenanaam en serienummer van die schijf.
Dat was niet de bedoeling?
 
Ik heb de opdrachtregels geplaatst en je kunt dan het resultaat zien.

_INFO_X _A5_ SAN_32G_U30_TBAT_H - 3C82-BC96 > is de aangemaakte map op de schijf.

Met dat aanmaken had ik graag tegelijkertijd een kopie willen hebben in
"E:\Lijst van volumenamen en VSN van alle schijven"

rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
rem Doel: Maak dezelfde map aan in E:\Lijst van volumenamen en VSN van alle schijven (niet gelukt)
of een kopie
 
Als je wil kan ik dat lijstje er wel bij maken, zit er nu niet in.
En uiteraard test ik code voordat ik deze plaats.
Zo ook die in #7.
 
Laatst bewerkt:
Dat hoeft niet. Bedankt voor het aanbod. Met folders kun je geen wildcards gebruiken in een batch file zoals ? of * Ik heb het nu opgelost met de zoekmachine. Ik filter op _A5_ en krijg dan alle aangemaakte mappen en kopieer die naar E:\Lijst van volumenamen en VSN van alle schijven\
Dit gaat goed en ik wijzig 5 naar 9 want anders moet ik de map uitsluiten van de zoekmachine en zo kan het ook. Waar nodig zet ik er de schijfletter voor (is handiger voor de volgorde).
Voorbeeld.jpg
Bovenstaande is de inhoud van de map op E: Met de zoekmachine zie je natuurlijk uitsluitend de aangesloten schijven.

Maar... wat is daar nu het nut van? > Een ingenieur van IBM over de microchip, 1968
 
Laatst bewerkt:
Natuurlijk heb ik mijn commandfiles getest.
En kennelijk heb je niet begrepen dat je vanuit een batch/commandfile een andere batch/commandfile kunt aanroepen. Jouw script van 233 regels zou daarmee ingekort kunnen worden tot 14 regels.
Aanroepende batchfile (verzin zelf maar een naam):
Code:
@echo off
FOR %%D IN (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) DO IF EXIST %%D: CALL DriveInfo.bat %%D

Aangeroepen batchfile DriveInfo.bat:
Code:
@echo off
rem Doel: Maak een map op het station met de Volumenaam en Volume Serial Number
rem Doel: Maak dezelfde map aan in E:\Lijst van volumenamen en VSN van alle schijven
%1:
vol
for /F "skip=1 tokens=5" %%a in ('vol %~D1') do set Serial=%%a
echo %vol%
for /f "tokens=1-5*" %%1 in ('vol') do (set vol=%%6 & goto done)
:done
echo %serial%
mkdir "%1:\_INFO_X_A5_%vol%- %serial%\"
mkdir "E:\Lijst van volumenamen\_INFO_X_A5_%vol%- %serial%\"
 
PHP:
@echo off
FOR %%D IN (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) DO IF EXIST %%D: CALL "Maak map schijflabel en VSN_2.bat" %%D

Is dit goed?

Bij een test wordt alleen van de B-schijf mappen gemaakt 1 op B en 1 op E en de rest van de schijven zie ik niets.
 
Ik heb die van jou één op één overgenomen en werkt niet goed.
 
Test deze maar eens in een .vbs bestandje.
Ja, heb ik ook gedaan en werkt prima:
Code:
Set fs = CreateObject("Scripting.FileSystemObject")
For Each dr in fs.drives
    Indx = "E:\Lijst van volumenamen"
    If Not fs.FolderExists(Indx) then fs.CreateFolder(Indx)
    List = Indx & "\_INFO_X_A5_" & dr.Volumename & "_" & dr.serialnumber
    Fldr = dr.rootfolder & dr.Volumename & "_" & dr.serialnumber
    If Not fs.FolderExists(Fldr) Then fs.CreateFolder(Fldr)
    If Not fs.FolderExists(List) Then fs.CreateFolder(List)
Next
 
Laatst bewerkt:
Letterlijk overgenomen. Werkt niet.
Regel 5
Teken 5
Schijf niet gereed
800A0047
Runtimefout

Is alleen de B, C, D en E en niet de USB-sticks!
Wordt alleen aangemaakt op de E: maar is niet het VSN-nummer. Alleen cijfers?
Ik heb in de screenshot post 14 aangegeven hoe het er uit ziet.
Label en dan VSN.
 
Laatst bewerkt:
Wat 'ie al zegt, de schijf die hij gevonden heeft en wil benaderen is niet gereed voor gebruik.
Daar kan het programmaatje niets aan doen.
Het werkt hier prima voor de 6 schijven die ik heb.
Index.png
 
Laatst bewerkt:
Terug
Bovenaan Onderaan