gpt4 book ai didi

使用 7zip 的 C# 归档,一直卡在通配符调用上

转载 作者:太空宇宙 更新时间:2023-11-03 13:14:39 25 4
gpt4 key购买 nike

嘿所有的快速问题。我正在尝试使用 7zip 作为系统进程将文件目录存档到 zip 文件夹中,但我遇到了一个奇怪的错误。每当我在源文件名中使用通配符规范(例如“*.txt”)时,它都可以正常工作。但是,一旦我在实际文件名周围使用通配符 *(我需要但不能解决这个问题),7zip 似乎就会挂起。我可以看到在文件夹中创建了存档目录,但我无法打开它,我必须通过任务管理器关闭 7zip。

有什么建议吗?

代码如下:

public static void archiveFiles(string executionDirectory,string workDirectory,
string[] files)

{
string sourceName = @"C:\mypath\*testfile*"; <----// This seems to be my issue

string targetName = @"C:\\testcompress\archive.zip";

ProcessStartInfo p = new ProcessStartInfo();

p.FileName = @"C:\program files\7-zip\7z.exe";

p.Arguments = "a -t7z \"" + targetName + "\" \"" + sourceName + "\" -mx=9";

p.WindowStyle = ProcessWindowStyle.Hidden;

Process x = Process.Start(p);

x.WaitForExit();


}

最佳答案

您很可能会遇到此问题,因为您的路径 @"C:\mypath*testfile*"是逐字字符串,因此使用“*”字符或其他此类通配符在路径中被视为文字而不是通配符。尝试将 @ 从包含通配符的字符串的开头去掉,这应该可以解决您的问题。您可以在此处找到有关字符串前缀上下文中使用的“@”字符的更详尽解释: Verbatim Strings

关于使用 7zip 的 C# 归档,一直卡在通配符调用上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26974731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com