From b6c5b547a3df9c833b37d9a91dda7ef7f5c52044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=B4=80=E1=B4=8D=E1=B4=9B=E1=B4=8F=E1=B4=80=E1=B4=87?= =?UTF-8?q?=CA=80?= Date: Tue, 24 Feb 2026 22:04:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A4=84=E7=90=86=20windows=20=E4=B8=8B?= =?UTF-8?q?=E7=9A=84=E6=96=87=E4=BB=B6=E5=A4=B9=E8=B7=AF=E5=BE=84=EF=BC=8C?= =?UTF-8?q?=E7=A1=AE=E4=BF=9D=E4=B8=8D=E4=BB=A5=E7=A9=BA=E6=A0=BC=E7=BB=93?= =?UTF-8?q?=E5=B0=BE=20(#657)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/bili_sync/src/workflow.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/crates/bili_sync/src/workflow.rs b/crates/bili_sync/src/workflow.rs index f6bb619..3aa16b2 100644 --- a/crates/bili_sync/src/workflow.rs +++ b/crates/bili_sync/src/workflow.rs @@ -236,6 +236,14 @@ pub async fn download_video_pages( .path_safe_render("video", &video_format_args(&video_model, &cx.config.time_format))?, ) }; + + #[cfg(target_family = "windows")] + // windows 系统不允许文件和文件夹以空格结尾,文件有拓展名不会出错,但文件夹可能以空格结尾,需要处理下 + // 此处如果不做修改,创建文件夹操作可以成功,系统会自动创建一个无结尾空格的版本 + // 但由于该路径还用于后续的路径拼接,如果不处理,其它文件路径拼接时使用的还是带结尾空格的版本 + // 导致拼接完的路径不合法,后续的文件操作失败,提示“系统找不到指定的路径” + let base_path = PathBuf::from(base_path.to_string_lossy().trim_end()); + let upper_id = video_model.upper_id.to_string(); let base_upper_path = cx .config