如何定义默认程序来打开分割的 xxx#. 文件并将其转换为 txt 格式

如何定义默认程序来打开分割的 xxx#. 文件并将其转换为 txt 格式

几个月前,我从 UCI 机器学习网站下载了一个数据集,该数据集由一个文件组成,其中包含多个子文件夹,每个子文件夹里面又包含更多子文件夹,这些子文件夹都是 gzip 格式,因此我使用 Winzip 解压它们。

这些最后的子文件夹每个都包含一个文件 xxx 格式的文件(例如:文件 001、文件 002、文件 003 等,其扩展名为 .001、.002...),它们可以在 MS Excel 或任何电子表格或记事本文件中打开,直到这样就可以了,但我想设置一个默认程序来打开每一个文件(文件 001、文件 002、文件 003...),如果没有它,我需要一个接一个地单击右键并选择一个程序来打开其中的每一个,这是一项无聊的任务。

我想知道如何将它们(文件 000 (.000)、文件 001 (.001)...)转换为 txt 文件?我尝试选择所有文件并按下鼠标右键并选择属性,但我看不到任何打开方式选项,而且我还不想合并所有文件。我的操作系统是 Windows 7 Home Premium

答案1

打开命令提示符并导航到目录(使用 cd“目录名称”向前移动,使用 cd.. 向后移动)

如果所有文件都在一个文件夹类型中:

ren *.* *.txt

如果您需要从根文件夹类型递归遍历多个目录,请输入:

for /R %x in (*.*) do ren "%x" *.txt

通过命令行递归重命名文件(Windows 7)

如果你不想更改目录中的其他文件类型,那么你可以尝试更改.0或者.00取决于您正在查看的文件数量。

答案2

要重命名文件:

使用 for 循环命令以递归方式列出扩展名中带有数字的文件,并在找到后重命名它们。

1)在文件的根目录树( )中使用Where.exe带有(递归)的命令,并仅过滤扩展名中恰好有 3 个字符(???)的文件.../r.

where.exe /r . *.???

2)运行将where.exe输出重定向到的命令findstr,其中使用正则表达式(\.[0-9]*),以便您可以准确获取最后 4 个字符与数字完全匹配的.000文件.999

  • 观察:正则表达式:"\" + "." == "\." == literal "."
^|%__APPDIR__%findstr.exe /re \.[0-9]*

3)循环变量返回先前应用的过滤器所产生的文件及其可在 中访问的完整路径%~i,只留下重命名它们的操作,保留当前名称(%~ni)并添加所需的扩展名(.txt)。

')do rename "%%~i" "%%~ni.txt"
  • 您的命令仅重命名扩展名中包含数字的文件,这些数字可以从 0 到 999 递归出现,并以零开头,如下所示:
for /f tokens^=* %i in ('%__APPDIR__%where.exe /r . *.??? ^|%__APPDIR__%findstr.exe /re \.[0-9]*')do @echo/ren "%~i" "%~ni.txt"
  • 您的 bat/cmd 文件仅重命名扩展名中包含数字的文件,这些数字可以从 0 到 999 递归出现,并以零为前导,如下所示:
@echo off 

cd /d "D:\folder\target\"

for /f tokens^=* %%i in ('
%__APPDIR__%where.exe /r . *.??? ^|%__APPDIR__%findstr.exe /re \.[0-9]*
')do rename "%%~i" "%%~ni.txt"


关于将文件与.numbersMS Excel 扩展程序关联...

我认为,不建议将关联分配给 MS Excel 以打开具有数字扩展名的文件的操作,如果您确实想这样做,我建议在将其作为一个新问题之前,您会得到准确且安全的答案,并得到该社区经验丰富且训练有素的用户之一的支持。......

  • 我当然不建议做这个操作...无论如何,对不起,我宁愿不推荐它,因为压缩机/解压缩它们来处理多个卷中的压缩文件,并且这个操作在某些时候可能会导致一些不好的事情。


相关内容