草庐IT

windows - NTFS 中的文件名存储为什么编码?

我刚刚开始编写一些程序来处理WinXP系统上具有非英文名称的文件名。我已经完成了一些关于unicode的推荐阅读,我想我已经了解了基本概念,但有些部分对我来说仍然不是很清楚。具体来说,NTFS中存储的文件名称(不是内容,而是文件的实际名称)是什么编码(UTF-8、UTF-16LE/BE)?是否可以使用fopen()打开任何文件,它接受一个char*,或者我别无选择只能使用wfopen(),它使用一个wchar_t*,并且大概接受一个UTF-16字符串?我尝试手动将UTF-8编码的字符串输入fopen(),例如。unsignedcharfilename[]={0xEA,0xB0,0x80

asp.net-mvc - Windows 中的 ASP.NET MVC 路由与保留文件名

在我们的ASP.NETMVC应用程序中,我们注意到我们不能使用禁止的DOS文件名——COM1到COM9、LPT1通过LPT9、CON、AUX、PRN和NUL——在任何地方我们的路线。它们不可避免地导致IIS告诉我们找不到文件,即使我们将路由设置为不首先检查文件是否存在。我们如何解决这个问题? 最佳答案 这已在ASP.NET4中得到解决。http://haacked.com/archive/2010/04/29/allowing-reserved-filenames-in-URLs.aspx您可以在web.config中应用一个设置来

windows - 批量获取文件名for循环

我在批处理文件中有以下For循环:for/Rc:\test\src%%iIN(*.*)DO(MOVE%%iC:\test\destinationECHO%%iexit)ECHO的结果输出整个文件路径Ex:C:\Foldername\Filename我只需要ECHO出Filename。是否有特定的命令可以给我文件名?谢谢! 最佳答案 启用命令扩展时(WindowsXP和更新版本,大致),您可以使用语法%~nF(其中F是变量,~n是对其名称的请求)仅获取文件名。FOR/RC:\Directory%Fin(*.*)doecho%~nF应该

windows - 替换或删除文件夹中所有文件的文件名中的某些字符

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。关闭3年前。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明可以在哪里回答问题。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproduceth

windows - 在 Windows 批处理脚本中获取不带扩展名的文件名

我正在尝试创建一个右键单击上下文菜单命令,用于使用YUI压缩器压缩JavaScript文件。我的最终目标是尝试让它在上下文菜单上运行:java.exe-jaryuicompressor-2.4.2.jar-o.min.js.js我知道我可以使用变量%1来引用正在打开的文件名。我不知道如何将此命令转换为批处理文件语法,也无法在线找到任何答案。更新:杰里米的回答(+评论)奏效了。对于偶然发现此问题的任何人,这是我必须做的:在我为JavaScript文件创建的操作中,我将其用作命令:minify.bat"%1"它调用我的批处理脚本,如下所示:java.exe-jaryuicompressor

windows - 文件名中的批处理命令日期和时间

我正在使用WinZip压缩文件在命令行上。由于我们每天存档,因此我尝试为这些文件添加日期和时间,以便每次都能自动生成一个新文件。我使用以下内容生成文件名。将其复制粘贴到您的命令行,您应该会看到一个包含日期和时间组件的文件名。echoArchive_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3,2%%time:~6,2%.zip输出Archive_20111011_93609.zip但是,我的问题是AM与PM。AM时间戳为我提供了时间9(前导空格)与10自然占据了两个空格。我想我的问题也会延伸到前9天、前9个月等。如何

windows - 在批处理作业中创建文件名作为时间戳

我们有一个每天运行的批处理作业,将文件复制到拾取文件夹。我还想复制该文件并将其放入具有文件名的存档文件夹中yyyy-MM-dd.log在Windows批处理作业中执行此操作的最简单方法是什么?我基本上是在寻找这个Unix命令的等价物:cpsource.log`date+%F`.log 最佳答案 CPsource.log%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%.log但这取决于语言环境。我不确定%DATE%是否已本地化,或者取决于为Windows中的短日期指定的格式。这是一种独立于语言环境的方法,可以从th

如何批量修改文件名

此文章仅记录博主遇到的问题想到的解决方案,并不代表最优解。问题背景:    在工作中遇到要批量修改文件名,并且文件名具有一定命名格式,如:要将abc_name_20230223.txt修改为name.txt,name的长度一致。这种情况下需要将文件名批量提取,裁剪再重命名。如何操作更加方便呢?方法(Excel函数+BAT脚本):一、打开文件所在路径,在路径栏写入CMD,然后回车    这将在此路径下打开命令行窗口。 二、在命令行窗口中输入命令:dir/b>1.xls此命令的作用是将当前路径下的所有文件名写入到1.xls文件当中。     生成的1.xls文件内容如下图: 三、使用MID函数裁剪

Mongodb如何只存储文件名

我是Mongodb的新手。是否有可能我只将文件名存储在Mongodb中并将该文件存储在文件系统中的数据库之外。如果可能的话怎么办?任何建议将不胜感激.. 最佳答案 您可以为每个要存储的文件创建一个如下所示的子文档。一条建议。{'filename':'abc.txt','filepath':'/files/abcRelated/abc.txt'} 关于Mongodb如何只存储文件名,我们在StackOverflow上找到一个类似的问题: https://stac

node.js - MongoDB GridFS - 是文件名还是文件名

请看下图,来自http://mongoexplorer.com/:我一直在尝试通过GridFS工作,引用https://github.com/jamescarr/nodejs-mongodb-streaming.我上传的文件很好地返回,通过以下get函数返回的流看起来是正确的。vargridfs=(function(){functiongridfs(){}gridfs.get=function(id,fn){vardb,store;db=mongoose.connection.db;id=newObjectID(id);store=newGridStore(db,id,"r",{roo