Jag skulle behöva att använda mig av XCopy via VB: Ska det inte bara vara _en_ stjärna efter första mappen? Nix, det är inte där som felet är. Kör med FSO istället. Nånting i stil med: Hej Nicklas. Så här då? Den kopiera inte mapparna med innehål.Commando promt och VB?
<code>
Dim GammalMapp As String, strMapp As Variant, strGammalMapp As String, strNyttNamnGammalMapp As String
GammalMapp = MultiLanguage.StatusBar1.Panels(1).Text
strGammalMapp = GammalMapp
strMapp = Split(GammalMapp, "\")
GammalMapp = MultiLanguage.StatusBar1.Panels(1).Text & "\Old_" & strMapp(UBound(strMapp))
strNyttNamnGammalMapp = GammalMapp
MakeFolder (GammalMapp)
GammalMapp = MultiLanguage.StatusBar1.Panels(1).Text & "\Lang"
MakeFolder (GammalMapp)
Dim RetVal
RetVal = Shell("XCOPY " & strGammalMapp & " " & strNyttNamnGammalMapp & " /e", 1)
</code>
Variablerna strGammalMapp och strNyttNamnGammalMapp innehåller rätt
sökvägar, men jag får tydlign inte med mig dem till dos promten.
Jag har också försökt så här utan resultat:
<code>
RetVal = Shell("XCOPY " & strGammalMapp & " " & strNyttNamnGammalMapp & " /e", 1)
</code>
Går det inte att göra så här, eller blir jag tvungen att försöka med FSO?
[REDIGERAT]
Jag gjorde lite andra tester:
<code>
Shell "cmd.exe", 1
'SendKeys "strGammalMapp strNyttNamnGammalMapp "
</code>
Blev inte bra.
[REDIGERAT]
Jag tänkte att jag skulle försöka att göra det enkelt med en bat-fil:
<code>
XCOPY C:\Inetpub\wwwroot\Hemsidor\HTML_TEST\*.* C:\Inetpub\wwwroot\Hemsidor\HTML_TEST\Old_HTML_TEST /e
</code>
Ingenting händer... suckSv: Commando promt och VB?
<code>
XCOPY C:\Inetpub\wwwroot\Hemsidor\HTML_TEST\* C:\Inetpub\wwwroot\Hemsidor\HTML_TEST\Old_HTML_TEST /e
</code>
/MickeSv: Commando promt och VB?
*.* betyder kopiera alla filer.
*.txt betyder kopiera alla filer med ext txt.
Felet måste ligga någon annanstansSv: Commando promt och VB?
<code>
Dim fso As FileSystemObject
Dim File As File
Set fso = New FileSystemObject
For Each File In fso.GetFolder("C:\Inetpub\wwwroot\Hemsidor\HTML_TEST\").Files
File.Copy "C:\Inetpub\wwwroot\Hemsidor\HTML_TEST\Old_HTML_TEST"
Next
</code>
(och du måste lägga till "Microsoft Scripting Runtime" i References)Sv: Commando promt och VB?
Jo jag tänkte först på det, men det finn kanske undermappar och hur klarar man det enkelt.
(dvs det kan finnas men är inte säkert)Sv: Commando promt och VB?
<code>
Dim fso As FileSystemObject
Dim File As File
Dim Folder As Folder
Set fso = New FileSystemObject
For Each File In fso.GetFolder("C:\Inetpub\wwwroot\Hemsidor\HTML_TEST\").Files
File.Copy "C:\Inetpub\wwwroot\Hemsidor\HTML_TEST\Old_HTML_TEST"
Next
For Each Folder In fso.GetFolder("C:\Inetpub\wwwroot\Hemsidor\HTML_TEST\").SubFolders
Folder.Copy "C:\Inetpub\wwwroot\Hemsidor\HTML_TEST\Old_HTML_TEST"
Next
</code>Sv: Commando promt och VB?
Så här ser koden ut just nu:
<code>
Public Sub ByggMappar()
'Här kollas vilka mappar som behövs
Dim GammalMapp As String, strMapp As Variant, strGammalMapp As String, strNyttNamnGammalMapp As String
GammalMapp = MultiLanguage.StatusBar1.Panels(1).Text
GammalMapp = MultiLanguage.Dir1
strGammalMapp = GammalMapp 'detta är orginal
strMapp = Split(GammalMapp, "\")
Dim GammalMappOLD As String, GammalMappLANG As String
GammalMappOLD = GammalMapp & "\Old_" & strMapp(UBound(strMapp))
strNyttNamnGammalMapp = GammalMapp
MakeFolder (GammalMappOLD)
GammalMappLANG = GammalMapp & "\Lang"
MakeFolder (GammalMappLANG)
Dim fso As FileSystemObject
Dim File As File
Dim Folder As Folder
Set fso = New FileSystemObject
For Each File In fso.GetFolder(GammalMapp & "\").Files
File.Copy GammalMappOLD & "\"
Next
For Each Folder In fso.GetFolder(GammalMapp).SubFolders
Folder.Copy GammalMappOLD
Next</code>
Vad tror du?
[REDIGERAT]
Nu har jag fått igång den.
Tack för hjälpen