草庐IT

windows - Windows 文件名中的分号?

我的一位用户问为什么我的应用程序不支持文件名中的分号。我单步执行了我的代码,似乎Windows函数GetOpenFileName会截断任何包含分号的文件名。例如“一;二.wav”->“一”。Microsoft说不允许使用冒号,但不要提到分号...http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx它们是否合法?编辑:..以及如何让GetOpenFileName()在文件名中使用分号?哦!,奇怪-文件名是正确的,除了“滚动”到左边。所以“one;two.wav”看起来像“two.wav”,直到我单击它并按向左箭头(然后就

c++ - 在 Windows 上处理文件名中带有回车符的文件

我有一个NTFS格式的外部USB硬盘驱动器,其中包含许多文件,我需要最终将这些文件复制到WindowsServer2008R2机器上的驱动器上。驱动器上的文件是由安装在Solaris上的驱动器运行的脚本放置在那里的。进行此复制的用户粗心并在Windows机器上编辑了他们的复制脚本,导致shell脚本行如下:cp/sourceDir/sourceFileName/externalDrivePath/targetFileName\r\n因此,外部驱动器上的文件在其文件名中有尾随回车符。标准Windows复制实用程序(copy、xcopy、robocopy)无法复制这些文件,并出现错误0x7

windows - 文件名的长度是否会影响巨大的 NTFS 文件夹索引?

我的NTFS文件夹可能会增长到容纳100,000到1,000,000个文件,这是本answeronNTFSperformance中讨论的上限.我的文件具有以下特征:1)它们的文件名很长(通常为64到100个字符)。2)对于许多文件,文件名的前20到40个字符的前导部分可以相同。长文件名是否会影响NTFS文件夹索引性能,无论是从文件名查找文件记录、索引碎片还是索引增长?NTFS文件夹索引是(据报道)B树。我已经对我的软件进行了50,000个文件的测试,但我正在运行“快乐路径”测试,文件系统变动很小。测试到1,000,000将需要数周不间断地运行我的软件。我考虑过编写一个模拟器,但在我这样

windows - Mercurial 中不区分大小写的文件名处理

我在Vista64上使用TortoiseHg0.5(包括Mercurial1.0.2)。我的理解来自MercurialBook是Mercurial应该在不区分大小写的文件系统(例如NTFS,我正在使用的文件系统)上以不区分大小写的方式处理文件名。但是我发现我安装的Mercurial实际上对大小写敏感:>hgstatus-AfooCfoo>hgstatus-AFOO?FOO这可能是Mercurial中的错误、Mercurial的TortoiseHg构建中的错误,还是其他原因?如何在Windows上从Mercurial实现不区分大小写的文件名处理? 最佳答案

c# - 如何在 C# 中停止进程,知道它的文件名?

我有一个运行另一个程序的程序(我们称第一个应用程序为Stater,第二个应用程序为Worker)。我用process.start();process.waiForExit();process.Close();在Starter中。但是如果Starter在等待Worker时被迫关闭(出于某些外部原因),Worker将仍在进程中,阻塞文件,消耗内存等。所以,我想在尝试启动它之前检查Worker是否已经在运行。我试过Process.GetProcessesByName("worker.exe")但没有成功(即使我可以在任务管理器中看到Worker)。我在这里看到了一些关于检查内存中每个进程的模

windows - "Droplet"批处理脚本 - 包含符号的文件名

我正在尝试创建一个可以将其他文件拖放到其中的批处理文件。具体来说,我正在使用ffmpeg编辑手持录音机制作的音频文件。问题是在使用带符号(&)的文件名时。即使在引用输入时,&之后的任何内容都会被删除,但只有当文件被放到它上面时;如果在命令行上输入文件名,则脚本可以正常工作。在cmd窗口关闭之前,我短暂地看到了文件名的其余部分,并显示一条错误消息,指出它未被识别为有效命令。这是我的脚本:remChangetodriveanddirectoryofinputfile%~d1cd%~p1remffmpeg:mixtoonechannel,doublethevolume%HOMEDRIVE%%

windows - Git pull 无效的 Windows 文件名

我正在使用git进行版本控制来处理一个共享项目。我在Windows上,而我的伙伴在Unix上。我的搭档用.txt命名了一些文件.当我尝试提取这些文件时,它们不被接受为和>是Windows的无效字符。这很好,我不需要触摸文件。但是,它们被添加到我的提交中作为删除。所以,如果我按下,我将删除这些我不想做的文件。我不能使用gitreset--hard因为它为每个“已删除”文件找到了无效路径。有没有办法从我的提交中排除这些文件?我试过添加到我的.git/info/exclude但这没有用。 最佳答案 您需要让您的合作伙伴将名称更改为在Win

c - 如何处理 Windows 的 ReadDirectoryChangesW() 及其混合的长/短文件名输出?

我正在开发一段C代码,它使用ReadDirectoryChangesW()来监视Windows目录下的更改。我已经阅读了ReadDirectoryChangesW()和FILE_NOTIFY_INFORMATION结构的相关MSDN条目,以及其他几篇文档。在这一点上,我已经设法监控多个目录,监控本身没有明显的问题。问题在于此函数放入FILE_NOTIFY_INFORMATION结构的文件名不是规范的。根据MSDN,它们可以是长格式或短格式。我发现有几篇文章建议缓存短路径名和长路径名来处理这种情况。不幸的是,根据我自己在Windows7系统上的测试,这不足以消除问题,因为每个文件名不仅有

Django REST框架 - 设置文件名

我有自定义渲染器(XLSXRENDER)及其作品,但是下载的文件仅具有“下载”而无需扩展。我如何设置使用文件扩展名的文件名?XLSXrender在默认渲染器中settings.py,我从文件中从我的应用程序打电话renderers.py。xlsxrender从QuerySet二进制文件而不是*.json。查看是经典的viewsets.ModelViewSet:classCountryViewSet(viewsets.ModelViewSet):queryset=Country.objects.all()serializer_class=CountrySerializer谢谢!看答案好吧,目前正

在匹配模式的文件夹中列出文件名,不包括文件内容

我正在使用下面的$patternGet-ChildItem$targetDir-recurse|Select-String-pattern"$pattern"|grouppath|selectname但是看来两个都列出的文件都有$pattern以它的名义和内容,例如当我在上面运行时$pattern="SAMPLE"我得到:C:\tmp\config.includeC:\tmp\README.mdC:\tmp\specs\SAMPLE.data.nuspecC:\tmp\specs\SAMPLE.Connection.nuspec现在:C:\tmp\config.includeC:\tmp\RE