24 lines
573 B
Bash
24 lines
573 B
Bash
#!/bin/bash
|
|
|
|
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
|