问题标签 [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.

0 投票
5 回答
10605 浏览

windows - Windows 如何确定/处理任何给定文件的 DOS 短名称?

我有一个包含这些文件的文件夹:

当我在命令提示符下运行DIR /x时,我看到分配了这些短名称:

现在,如果我添加另一个文件:

我看到这个:

美好的。它似乎是根据我创建文件的日期/时间分配“~#”。它是否正确?

现在,如果我删除“alongfilename1.txt”,其他两个文件将保留它们的短名称

该 ID(在本例中为 ~1)何时发布以用于另一个短名称。会吗?

另外,我机器上的文件是否有可能有一个短名称 X,而同一文件在另一台机器上有一个短名称 Y?我特别关注其自定义操作使用 DOS 短名称的安装。

多谢你们。

0 投票
3 回答
358 浏览

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?

0 投票
2 回答
4533 浏览

air - 如何在 Adob​​e AIR 中将带路径的文件名转换为短文件名(DOS 样式)?

如何在 Adob​​e AIR 中将带路径的文件名转换为短文件名(DOS 样式)?

例如转换下一个路径

有什么算法吗?

0 投票
2 回答
1392 浏览

fat32 - 如何在 Powershell 或 Windows Command Shell 中设置 FAT32 短名称

我需要编写一个脚本来设置 FAT32 文件系统上文件的短名称。在 NTFS 上,我可以在 windows 下使用 FSUTIL 实用程序,但我似乎无法理解如何为 FAT32 驱动器执行此操作。

窗口命令或 powershell 脚本的额外荣誉

0 投票
3 回答
3206 浏览

ruby - 将长文件名转换为短文件名 (8.3)

我想将长文件名/路径转换为短文件名(8.3)。我正在开发一个脚本,它调用只接受短文件名的命令行工具。

所以我需要转换

C:\Ruby193\bin\test\New Text Document.txt

C:\Ruby193\bin\test\NEWTEX~1.TXT

到目前为止,我找到了如何从 ARGV 获取长文件名,它使用 WIN32API 将短文件名转换为长文件名(与我想要实现的相反)。

有没有办法在 Ruby 中获取短文件名?

0 投票
3 回答
78359 浏览

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 路径),但是该问题专门询问当前目录的路径。

0 投票
1 回答
2070 浏览

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 找到了答案

0 投票
2 回答
4224 浏览

filesystems - FAT32:分别设置长文件名和8.3文件名

我需要构建一个 SDHC 卡(FAT32),其中包含一个我独立选择短文件名和长文件名的目录。例如短文件名MYDIR但长名称i am a cool name. yeah. check out the awesomeness.根据维基百科,这两个名称之间没有强制关联,所以我的目标应该是可能的:

从 LFN 创建 8.3 名称没有强制算法

-- http://en.wikipedia.org/wiki/8.3_filename#Overview

我可以使用任何必要的系统来执行此操作(windows、mac、linux、十六进制编辑器),但越简单越好。谢谢!

0 投票
2 回答
4929 浏览

java - 如何使用 Java 在 Windows 中获取短文件名?

如何使用 Java 在 Windows 中获取长文件名的短文件名?

我需要使用 Java(tm) 确定存储在 Windows 系统上的文件的短文件名。

0 投票
1 回答
106 浏览

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 服务器上运行的。

是否有任何类型的解决方法或替代命令来解决此问题?