Set objShell = CreateObject("Shell.Application")
Set Ag=Wscript.Arguments
set WshShell = WScript.CreateObject("WScript.Shell")
Set DestFldr=objShell.NameSpace(Ag(1))
Set SrcFldr=objShell.NameSpace(Ag(0))
Set FldrItems=SrcFldr.Items
DestFldr.CopyHere FldrItems, &H214
Msgbox "Finished"
This code unzips.
Microsoft Windows [Version 10.0.10240]
(c) 2015 Microsoft Corporation. All rights reserved.
C:\Users\David Candy>"C:\Users\David Candy\Desktop\David\Documents\Assorted\Scripts\UnZip.vbs" "C:\Users\David Candy\Desktop\42 - ProcessExplorer.zip" "C:\Users\David Candy\Desktop\New Folder (3)"
Here's a debugging version. Run it with CScript.
On Error Resume Next
Set objShell = CreateObject("Shell.Application")
Set Ag=Wscript.Arguments
Set fso = CreateObject("Scripting.FileSystemObject")
wscript.echo Ag(0) & " Is Drive " & fso.DriveExists(Ag(0)) & " Is Folder " & fso.FolderExists(Ag(0)) & " Is File " & fso.FileExists(Ag(0))
wscript.echo Ag(1) & " Is Drive " & fso.DriveExists(Ag(1)) & " Is Folder " & fso.FolderExists(Ag(1)) & " Is File " & fso.FileExists(Ag(1))
wscript.echo ""
If fso.FileExists(Ag(1)) = False Then
Wscript.echo "Zip doesn't exist so trying to Create"
Set ts = fso.OpenTextFile(Ag(0), 8, vbtrue)
If Err.Number <> 0 Then
Wscript.echo "Opening Dest " & Err.number & " " & Err.Description & " " & Err.Source
Err.Clear
End If
BlankZip = "PK" & Chr(5) & Chr(6)
For x = 0 to 17
BlankZip = BlankZip & Chr(0)
Next
ts.Write BlankZip
If Err.Number <> 0 Then
Wscript.echo "Writing Dest " & Err.number & " " & Err.Description & " " & Err.Source
Err.Clear
End If
End If
Set DestFldr=objShell.NameSpace(Ag(1))
If Err.Number <> 0 Then
Wscript.echo "Creating Dest " & Err.number & " " & Err.Description & " " & Err.Source
Err.Clear
End If
Set SrcFldr=objShell.NameSpace(Ag(0))
If Err.Number <> 0 Then
Wscript.echo "Creating Source " & Err.number & " " & Err.Description & " " & Err.Source
Err.Clear
End If
wscript.echo DestFldr.Self.Name & " " & DestFldr.Self.Type & " " & DestFldr.Self.IsBrowsable & " " & DestFldr.Self.IsFileSystem
If Err.Number <> 0 Then
Wscript.echo Err.number & " " & Err.Description & " " & Err.Source
Err.Clear
End If
wscript.echo SrcFldr.Self.Name & " " & SrcFldr.Self.Type & " " & SrcFldr.Self.IsBrowsable & " " & SrcFldr.Self.IsFileSystem
If Err.Number <> 0 Then
Wscript.echo Err.number & " " & Err.Description & " " & Err.Source
Err.Clear
End If
Set FldrItems=SrcFldr.Items
For Each Itm in FldrItems
wscript.echo Itm.Name & " " & Itm.IsBrowsable & " " & Itm.IsFileSystem
Next
DestFldr.CopyHere FldrItems, &H10001210
Msgbox "Finished"
This is the output
C:\Users\User>cscript //nologo "C:\Users\User\Desktop\David\Documents\Assorted\Scripts\UnZip - Copy.vbs" C:\symbols c:\file1.zip
C:\symbols Is Drive False Is Folder True Is File False
c:\file1.zip Is Drive False Is Folder False Is File False
Zip doesn't exist so trying to Create
Opening Dest 70 Permission denied Microsoft VBScript runtime error
Writing Dest 424 Object required Microsoft VBScript runtime error
424 Object required Microsoft VBScript runtime error
symbols File folder False True
wkernel32.pdb False True
wntdll.pdb False True
Showing I didn't have permission to create it.
C:\Users\User>cscript //nologo "C:\Users\User\Desktop\David\Documents\Assorted\Scripts\UnZip - Copy.vbs" C:\symbols c:\file2.zip
C:\symbols Is Drive False Is Folder True Is File False
c:\file2.zip Is Drive False Is Folder False Is File False
424 Object required Microsoft VBScript runtime error
symbols File folder False True
wkernel32.pdb False True
wntdll.pdb False True
Showing the file didn't exist.
This is when it works.
C:\Windows\system32>cscript //nologo "C:\Users\User\Desktop\David\Documents\Assorted\Scripts\UnZip - Copy.vbs" C:
\symbols c:\file.zip
C:\symbols Is Drive False Is Folder True Is File False
c:\file.zip Is Drive False Is Folder False Is File True
file.zip Compressed (zipped) Folder True True
symbols File folder False True
wkernel32.pdb False True
wntdll.pdb False True
I've change options to not recurse. See The list here.
https://msdn.microsoft.com/en-us/library/windows/desktop/bb775799%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396