问题标签 [short-filenames]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - Windows 如何确定/处理任何给定文件的 DOS 短名称?
我有一个包含这些文件的文件夹:
当我在命令提示符下运行DIR /x时,我看到分配了这些短名称:
现在,如果我添加另一个文件:
我看到这个:
美好的。它似乎是根据我创建文件的日期/时间分配“~#”。它是否正确?
现在,如果我删除“alongfilename1.txt”,其他两个文件将保留它们的短名称。
该 ID(在本例中为 ~1)何时发布以用于另一个短名称。会吗?
另外,我机器上的文件是否有可能有一个短名称 X,而同一文件在另一台机器上有一个短名称 Y?我特别关注其自定义操作使用 DOS 短名称的安装。
多谢你们。
windows - What's the advantage of having an 8-letter process?
If you run Sticky Note in Windows 7,its process, is called StikyNot.exe. Several other Windows processes keep their process names under 8 letters.
Why do they do that? What is the advantage? Are they just clinging to the past? Or should everybody be publishing 8-letter executables?
air - 如何在 Adobe AIR 中将带路径的文件名转换为短文件名(DOS 样式)?
如何在 Adobe AIR 中将带路径的文件名转换为短文件名(DOS 样式)?
例如转换下一个路径
至
有什么算法吗?
fat32 - 如何在 Powershell 或 Windows Command Shell 中设置 FAT32 短名称
我需要编写一个脚本来设置 FAT32 文件系统上文件的短名称。在 NTFS 上,我可以在 windows 下使用 FSUTIL 实用程序,但我似乎无法理解如何为 FAT32 驱动器执行此操作。
窗口命令或 powershell 脚本的额外荣誉
ruby - 将长文件名转换为短文件名 (8.3)
我想将长文件名/路径转换为短文件名(8.3)。我正在开发一个脚本,它调用只接受短文件名的命令行工具。
所以我需要转换
C:\Ruby193\bin\test\New Text Document.txt
到
C:\Ruby193\bin\test\NEWTEX~1.TXT
到目前为止,我找到了如何从 ARGV 获取长文件名,它使用 WIN32API 将短文件名转换为长文件名(与我想要实现的相反)。
有没有办法在 Ruby 中获取短文件名?
windows - 使用 cmd.exe 将长文件名转换为短文件名 (8.3)
我正在尝试在 Windows 上将长文件名转换为短文件名 (8.3)。
带有命令行参数的批处理文件按预期工作:
短.bat:
调用short.bat C:\Documents and Settings\User\NTUSER.DAT
返回C:\DOCUM~1\USER\NTUSER.DAT
但是,我不喜欢为此添加额外的 .bat 文件。我宁愿cmd.exe
用 ruby 脚本中的整个命令调用。我怎样才能做到这一点?
作为中间步骤,我尝试对批处理文件中的路径进行硬编码,但这不起作用:
短1.bat:
echo %filename%
有效,但echo %~sfilename%
出现以下错误:
如果short1.bat有效,我怎样才能将其转换为可以调用的单线cmd.exe \c ...
?
还有另一个问题(如何获取 DOS 路径而不是 Windows 路径),但是该问题专门询问当前目录的路径。
java - 用于 Windows API GetShortPathName 的 Java 调用
我想在我的 java 类中使用本机 windows api 函数。
我感兴趣的函数是GetShortPathName。 http://msdn.microsoft.com/en-us/library/aa364989%28VS.85%29.aspx
我尝试使用它 - http://dolf.trieschnigg.nl/eightpointthree/eightpointthree.html 但在某些情况下,当我使用它时,java 会完全崩溃,所以它不是我的选择。
问题是我是否必须用例如 C 语言编写代码,制作 DLL,然后在 JNI/JNA 中使用该 DLL?或者也许我可以以不同的方式访问系统 API?
我会很感激你的意见。如果您可以发布一些代码作为示例,我将不胜感激。
...
我使用 JNA 找到了答案
filesystems - FAT32:分别设置长文件名和8.3文件名
我需要构建一个 SDHC 卡(FAT32),其中包含一个我独立选择短文件名和长文件名的目录。例如短文件名MYDIR
但长名称i am a cool name. yeah. check out the awesomeness.
根据维基百科,这两个名称之间没有强制关联,所以我的目标应该是可能的:
从 LFN 创建 8.3 名称没有强制算法
我可以使用任何必要的系统来执行此操作(windows、mac、linux、十六进制编辑器),但越简单越好。谢谢!
java - 如何使用 Java 在 Windows 中获取短文件名?
如何使用 Java 在 Windows 中获取长文件名的短文件名?
我需要使用 Java(tm) 确定存储在 Windows 系统上的文件的短文件名。
windows - 如何忽略批处理脚本中“移动”命令的 8.3 文件名?
我必须移动很多 xml 文件,命名如下:
- F010199004524001_904.XML
- F010199805946001_737.XML
- F010199904725001_611.XML
- F030390114543001_901.XML
- F030390114544001_257.XML
- F030390114545001_901.XML
在我的批处理文件中,有这一行:
移动 C:\source\F01*.xml C:\target\F01\
现在我遇到了问题,例如,某些文件具有不同的 8.3 文件名
“F030390114545001_901.XML”的名称为“F01FCF~1.XML”,因此该文件也被移动到目录“F01”中。
在我的例子中,命令“fsutil 8dot3name strip”是没用的,因为批处理是在 2003 服务器上运行的。
是否有任何类型的解决方法或替代命令来解决此问题?