Files
scripts/mv_docker.sh

26 lines
591 B
Bash
Executable File

#!/usr/bin/env bash
set -e
WSL_DIR='/d/WSL2'
WSLS="$(wsl --list | sed 1d | cut -d' ' -f 1 | sed $'s/[^[:print:]\t]//g' | head -n -1)"
mkdir -p "$WSL_DIR"
for WSL in "${WSLS[@]}"; do
if [ -d "$WSL_DIR"/"$WSL" ]; then
echo "$WSL already moved, continuing"
continue
fi
echo "Exporting $WSL to archive"
wsl --export "$WSL" "$WSL_DIR/$WSL.tar"
echo "Unregistering $WSL"
wsl --unregister "$WSL"
mkdir "$WSL_DIR/$WSL"
echo "Importing $WSL from archive"
wsl --import "$WSL" "$WSL_DIR/$WSL" "$WSL_DIR/$WSL.tar" --version 2
echo "Removing $WSL archive"
rm "$WSL_DIR/$WSL.tar"
done