$err = VMCopyFileFromHostToGuest($vmHandle, $hostPathName, $guestPathName, $options, $propertyListHandle);
Copies a file or directory from the local system (where the Vix client is running) to the guest operating system.
use VMware::Vix::Simple; use VMware::Vix::API::Constants;since VMware Workstation 6.0
my $err = VIX_OK; my $hostHandle = VIX_INVALID_HANDLE; my $vmHandle = VIX_INVALID_HANDLE; ($err, $hostHandle) = HostConnect(VIX_API_VERSION, VIX_SERVICEPROVIDER_VMWARE_WORKSTATION, undef, # hostName 0, # hostPort undef, # userName undef, # password 0, # options VIX_INVALID_HANDLE); # propertyListHandle die "HostConnect() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK; ($err, $vmHandle) = VMOpen($hostHandle, "c:\\Virtual Machines\\vm1\\win2000.vmx"); die "VMOpen() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK; $err = VMPowerOn($vmHandle, 0, # powerOnOptions VIX_INVALID_HANDLE); # propertyListHandle die "VMPowerOn() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK; $err = VMWaitForToolsInGuest($vmHandle, 300); # timeoutInSeconds die "VMWaitForToolsInGuest() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK; $err = VMLoginInGuest($vmHandle, "vixuser", # userName "secret", # password 0); # options die "VMLoginInGuest() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK; $err = VMCopyFileFromHostToGuest($vmHandle, "c:\\hosttDir\\helloworld.c", # src name "c:\\guestDir\\helloworld.c", # dest name 0, # options VIX_INVALID_HANDLE); # propertyListHandle die "VMCopyFileFromHostToGuest() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK; ReleaseHandle($vmHandle); HostDisconnect($hostHandle);