"The file is not ready for download yet" error

I have just reinstalled my computer and am attempting to download my email archives to restore. Unfortunately I get the error message that the file is not ready for download yet. It looks as though odrive had split the file into 100mb parts. Wish I hadn’t experimented with the split large file settings. How can I get the file restored?

Hi @ozhubnet,
Take a look at this post here, which I think is relevant to your situation:

Let me know if you have any questions about the information above.

Hi Tony
The file was uploaded to Onedrive Business and I never attempted to access the file until now. I don’t see how it could be deleted when I have never attempted to access it before. Any suggestions on how to recover? (I saw the Python suggestion but would need directions on how to run a python program).

Hi @ozhubnet,
The first step is to try to download the xlarge folder with all of the files inside from OneDrive. Can you go to the OneDrive web client and find that folder? If so, are you able to download the files inside?

Hi Tony
Yes, I’ve downloaded the files from OneDrive as suggested. 2017-11-27_083652. See attached picture.

Hi @ozhubnet,
Thanks for the update.

This blog post contains a lot of information about the xlarge file format. https://medium.odrive.com/cloud-upload-was-a-struggle-until-today-bb267cb5566e

The .meta file old the information about the file chunks. In that blog post there is a powershell script that can be used to assemble the parts together:

#Run inside the parent of the downloaded .xlarge directory
$xl_dir_name = "[name of xlarge directory]"
$xl_name = $xl_dir_name.Substring(0,$xl_dir_name.Length-40)
$meta_path = "$xl_dir_name\.meta"
$segments = Select-String -pattern "CLOUD-XL-SEGMENTS" $meta_path -List
$num_segments = $segments.line.split(":")[1]
echo "Assembling $xl_name...."
rm "$xl_name" -erroraction 'silentlycontinue'
ni "$xl_name" -type file | Out-Null
for ($i=0; $i -lt $num_segments; $i++) {
   $cur_seg = Select-String -pattern "CLOUD-XL-SEGMENT:$i" $meta_path -context 0,2 -List
   $filename = $cur_seg.context.DisplayPostContext[1].split(":")[1]
   echo "adding segment: $filename to $xl_name"
   $copy_output = $(cmd /q /c copy /b "$xl_name" + "$xl_dir_name\$filename" "$xl_name")

If you can give me the name of the .xlarge folder that held these files, I can create a .ps1 script that can be used to assemble, if you are not familiar with shell scripting. Make sure the folder that the files you listed above is the same name as the one on the remote storage. It should be a folder with a .xlarge extension.

Hi Tony
The folder name is 2017b.pst.84fe66966f55866777cf7e62858500f0.xlarge

Hi @ozhubnet,
Here is the ps1 script: https://www.odrive.com/s/534db9c5-71fa-4584-90b3-4a203c786119-5a25c17b

You will want to copy this into the folder that contains the xlarge folder. So if your xlarge folder is in your Downloads folder, you will want to make sure this script is in the Downloads folder too.

Once there, you will then want to open up a powershell window and cd to that folder. To open a powershell window, click on the windows icon then type ‘powershell’ into the text field:

Once the window is open you will want to cd to the folder that contains the script and the xlarge folder. Then run the command: .\2017b_pst_assemble.ps1

Hi Tony
I’ve downloaded the files and followed the instructions. I had a number of issues such as scripts being denied to run, but managed to find a solution online. It’s combined again into one file and I’ll test the pst file on my work machine tomorrow. Fingers crossed.

Thanks for the update @ozhubnet. I hope all goes well.

Does the file look to be the correct size, when assembled?