正在加载

批处理获取文件名(批处理获取文件名称并存入txt)

  • 作者: 李皙颜
  • 来源: 投稿
  • 2024-12-04


1、批处理获取文件名

批处理获取文件名

在批处理脚本中,经常需要获取文件或文件夹的文件名。以下是一些常用的方法:

使用 FOR 命令:

FOR %%f IN (.txt) DO ECHO %%~nf

此命令将获取所有具有 `.txt` 扩展名的文件的文件名,并仅显示文件名(不带扩展名)。

使用 DIR 命令:

```

DIR /B /ON .txt

```

此命令将获取所有 `.txt` 文件的文件名,并按名称排序显示。

使用 EXTRACTFILENAME 命令:

```

ECHO %EXTRACTFILENAME("C:\path\to\file.txt")%

```

此命令将从指定的完整路径中提取文件名。

使用 WMIC 命令:

```

WMIC path win32_file WHERE Pathname="C:\path\to\file.txt" GET Filename

```

此命令将获取指定文件的完整路径的文件名。

注意:

FOR 命令是仅在 CMD 中可用的内部命令。

DIR 和 EXTRACTFILENAME 命令在 CMD 和 PowerShell 中都可用。

WMIC 命令仅在 CMD 中可用,需要管理员权限。

2、批处理获取文件名称并存入txt

批处理获取文件名称并存入 TXT

在日常工作或学习中,我们常常需要批量处理大量文件。为了方便管理,我们需要获取这些文件的名称并存入文本文件中以备后续使用。本篇文章将介绍如何使用批处理脚本实现这一功能。

脚本步骤:

1. 创建新文本文件:打开文本编辑器,新建一个文本文件(如 names.txt)。

2. 获取当前目录:在批处理脚本中,使用命令 `cd /d %~dp0` 切换到当前目录。

3. 遍历文件:使用 `for` 循环遍历当前目录中的所有文件:

```

for %%f in () do (

```

4. 提取文件名:使用 `%%~nf` 获取文件的名称,例如:

```

set filename=%%~nf

```

5. 追加到文本文件:使用 `>>` 将文件名追加到 names.txt 文本文件中,例如:

```

echo %filename% >> names.txt

```

完整脚本示例:

```

cd /d %~dp0

for %%f in () do (

set filename=%%~nf

echo %filename% >> names.txt

```

使用方法:

1. 将以上脚本复制到一个文本文件中,并将其保存为 `get_filenames.bat`。

2. 复制 `get_filenames.bat` 到需要处理文件的目录中。

3. 双击运行 `get_filenames.bat` 脚本。

结果:

脚本运行后,它将遍历当前目录中的所有文件,提取它们的名称并追加到 `names.txt` 文本文件中。这样,我们就可以轻松地获取和管理这些文件的名称。

3、批处理获取文件名称并赋值给变量

批处理获取文件名称并赋值给变量

在批处理脚本中,我们可以使用命令行参数来获取脚本运行时传入的文件名称,并将其赋值给变量。

语法:

```

set 变量名 = %%n

```

其中:

"变量名" 是要赋值的变量名称。

"%%n" 是一个特殊符号,表示第 n 个命令行参数。其中,%%0 表示脚本本身的文件名,%%1 表示第一个文件参数,以此类推。

示例:

假设我们有一个名为 "get_file_name.bat" 的批处理脚本,我们要获取第一个文件参数并将其赋值给变量 "filename":

```

@echo off

set filename = %%1

echo %filename%

```

当我们运行此脚本并传递一个文件名为 "file.txt" 的参数时,脚本会输出:

```

file.txt

```

注意事项:

如果未提供命令行参数,脚本将无法获取文件名称,并会显示一个错误消息。

变量名称不区分大小写,但建议使用大写字母以提高可读性。

如果文件名称包含空格,需要使用引号将其引起来。

获取文件名称并赋值给变量对于许多批处理任务非常有用,例如文件处理、备份和自动化任务。

4、批处理获取文件夹内文件名

批处理获取文件夹内文件名

批处理是一种强大的脚本语言,可以用来自动化各种任务。其中,获取文件夹内文件名是一个常见的需求。

要在批处理中获取文件夹内文件名,可以使用 `dir` 命令。`dir` 命令可以列出指定文件夹中的文件和文件夹。默认情况下,`dir` 命令只显示文件名和扩展名。要显示更详细的信息,可以使用 `/a` 参数。

例如,以下命令将列出 `C:\TEMP` 文件夹中所有文件的文件名和扩展名:

```

dir C:\TEMP

```

以下命令将列出 `C:\TEMP` 文件夹中所有文件的完整路径和文件名:

```

dir C:\TEMP /a

```

要将文件名保存到变量中,可以使用 `FOR` 循环。以下命令将 `C:\TEMP` 文件夹中所有文件的完整路径和文件名保存到变量 `file` 中:

```

FOR %%a IN (C:\TEMP\.) DO SET file=%%a

```

获取文件夹内文件名后,就可以使用它们执行各种操作。例如,可以将它们写入文件、打印到控制台或用作其他命令的参数。

使用批处理获取文件夹内文件名是一个简单而强大的技术。它可以用于自动化各种任务,例如备份文件、整理目录或创建文件列表。