Rclone to win32 volume without drive letter

I am using rclone to copy files from a Linux box to a win32 volume, I don't want to assign a drive letter to the volume. Using mountvol (or Powershell's get-volume | fl), I learn the volume name is: \?\Volume{23cbe21a-85b9-41d7-bc14-adf6f45f41e9}

A directory listing is uneventful: rclone lsd \?\Volume{23cbe21a-85b9-41d7-bc14-adf6f45f41e9}:\

Things go south when I try a copy command: rclone copy remote:\home \?\Volume{23cbe21a-85b9-41d7-bc14-adf6f45f41e9}:\remote

2020/06/12 07:58:42 ERROR : files/clipart/TUGOWAR1.WMF: Failed to copy: mkdir \?: The filename, directory name, or volume label syntax is incorrect.

Any ideas? I have temporarily solved the problem by doing a mountvol v: .... & mountvol v:/d, but would really like to get back to a place where we don't use a drive letter.

Thx

what is the reason you do not want to use a drive letter and mountvol
what does this point to? \?\Volume{23cbe21a-85b9-41d7-bc14-adf6f45f41e9}:\

i wrote this wiki, you might find something useful

I am making an archival copy of a network share to a drive in my workstation. I do not want a drive letter associated with the drive.

?\Volume{23cbe21a-85b9-41d7-bc14-adf6f45f41e9}:\ is the volume configured on my workstation.

There are other use cases, for example, I may have several external USB drives, when I plug them in, it's complicated to determine what drive letter is used by each drive. So, if I have a list of volume names, I can automate the transfer of data to whatever usb drive is plugged into my computer.

I'm reasonably sure this is a bug in the go runtime. We've had troubles with this before...

What appears to be happening is that the os.MkdirAll rclone calls is attempting to make a directory called \? so it has mis-parsed the Path

Here is the go issue: https://github.com/golang/go/issues/22230

Can you post the output of rclone version and also which Windows version are you running?

if the problem is that rclone, using golang, cannot create the folder.
then just create the folder and then run rclone

note that d: is a usb key

mountvol
\\?\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}\
        D:\

set folder=path
set vol=\\?\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}
mkdir %vol%\%folder%\
rclone copy C:\%folder%\ %vol%\%folder%\ -vv
dir %vol%\%folder%\ /s /b

rclone copy C:\path\ \\?\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}\path\ -vv 
2020/06/12 14:59:07 DEBUG : rclone: Version "v1.52.0" starting with parameters ["rclone" "copy" "C:\\path\\" "\\\\?\\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}\\path\\" "-vv"]
2020/06/12 14:59:07 DEBUG : Using RCLONE_CONFIG_PASS password.
2020/06/12 14:59:07 DEBUG : Using config file from "c:\\data\\rclone\\scripts\\rclone.conf"
2020/06/12 14:59:07 DEBUG : fs cache: renaming cache item "C:\\path\\" to be canonical "//?/C:/path/"
2020/06/12 14:59:07 DEBUG : fs cache: renaming cache item "\\\\?\\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}\\path\\" to be canonical "//?/Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}/path/"
2020/06/12 14:59:07 DEBUG : Local file system at //?/Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}/path/: Waiting for checks to finish
2020/06/12 14:59:07 DEBUG : Local file system at //?/Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}/path/: Waiting for transfers to finish
2020/06/12 14:59:07 DEBUG : to/local/folder/03/03.txt: MD5 = d41d8cd98f00b204e9800998ecf8427e OK
2020/06/12 14:59:07 INFO  : to/local/folder/03/03.txt: Copied (new)
2020/06/12 14:59:07 DEBUG : to/local/folder/04/04.txt: MD5 = d41d8cd98f00b204e9800998ecf8427e OK
2020/06/12 14:59:07 INFO  : to/local/folder/04/04.txt: Copied (new)
2020/06/12 14:59:07 DEBUG : to/local/folder/02/02.txt: MD5 = d41d8cd98f00b204e9800998ecf8427e OK
2020/06/12 14:59:07 INFO  : to/local/folder/02/02.txt: Copied (new)
2020/06/12 14:59:07 DEBUG : to/local/folder/01/01.txt: MD5 = d41d8cd98f00b204e9800998ecf8427e OK
2020/06/12 14:59:07 INFO  : to/local/folder/01/01.txt: Copied (new)
2020/06/12 14:59:07 INFO  : 
Transferred:   	         0 / 0 Bytes, -, 0 Bytes/s, ETA -
Transferred:            4 / 4, 100%
Elapsed time:         0.0s

2020/06/12 14:59:07 DEBUG : 2 go routines active

dir \\?\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}\path\ /s /b 
\\?\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}\path\to
\\?\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}\path\to\local
\\?\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}\path\to\local\folder
\\?\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}\path\to\local\folder\01
\\?\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}\path\to\local\folder\02
\\?\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}\path\to\local\folder\03
\\?\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}\path\to\local\folder\04
\\?\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}\path\to\local\folder\01\01.txt
\\?\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}\path\to\local\folder\02\02.txt
\\?\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}\path\to\local\folder\03\03.txt
\\?\Volume{6722fb8a-6212-11ea-9d15-482ae32ef6d1}\path\to\local\folder\04\04.txt

rclone v1.52.0

  • os/arch: windows/amd64
  • go version: go1.14.3

Microsoft Windows [Version 10.0.17763.1282]
(LTSC)

did you try my solution?

Using the mkdir trick, I get the same error message.

I have not tried working through the wiki article. Thanks for following up.

can you post your batch file and rclone debug output?

i noticed that you have a : in your volume path.
as per my code, there is no need for it.
try to mimic what i did...

How do you get the ID to use in a path like that?

If I can replicate it here I'll make a go issue about it.

the command is mountvol.exe

gives output of
\\?\Volume{d2737adb-19ed-419e-9232-2ac9d249c57b}\ C:\

notice that there is not a : in the volume path.

Thanks. I'll have a go with that and post the result a bit later.

do not spend too much time on it.
as a simple mkdir solves the problem.

We are in good shape. Thank you!

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.