正在加载

批处理选取文件名前3位(批处理获取文件名称并存入txt)

  • 作者: 马晨希
  • 来源: 投稿
  • 2024-05-08


1、批处理选取文件名前3位

批处理选取文件名前3位

在日常工作中,我们经常需要处理大量文件,有时需要获取文件名前面的几个字符。批处理脚本可以帮助我们高效地完成这项任务。

步骤:

1. 打开记事本,输入以下代码:

@echo off

setlocal enabledelayedexpansion

for %%i in () do (

set filename=%%i

echo !filename:~0,3!

2. 将文件另存为 ".bat" 文件,例如 "get_filename_front3.bat"。

3. 双击运行 ".bat" 文件,它将遍历当前目录下的所有文件,并输出每个文件名前面的3个字符。

解释:

`for %%i in () do`:遍历当前目录下的所有文件,并将其分配给变量 `%%i`。

`set filename=%%i`:将当前文件的名称分配给变量 `filename`。

`echo !filename:~0,3!`:输出 `filename` 变量的从第 0 个字符开始的 3 个字符。

示例:

如果当前目录有以下文件:

file1.txt

file2.jpg

file3.doc

运行批处理脚本后,将输出:

```

fil

fil

fil

```

提示:

可以修改代码以获取文件名前面的不同数量的字符。将 `~0,3` 替换为您需要的字符数量。

可以添加其他命令来处理输出,例如将输出重定向到文件或另一个程序。

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

批量获取文件名称并存入 TXT

需求:获取指定文件夹中所有文件的名称,并将其存储到 TXT 文本文件中。

步骤:

1. 打开文件夹并获取文件列表:使用 `os.listdir()` 函数获取指定文件夹中所有文件的名称列表。

2. 创建 TXT 文件:使用 `open()` 函数以写入模式创建 TXT 文本文件。

3. 逐个写入文件名称:循环遍历文件名称列表,逐个将文件名称写入 TXT 文件中,并使用换行符分隔。

代码示例:

```python

import os

获取文件列表

files = os.listdir("指定文件夹路径")

创建 TXT 文件

with open("文件名称.txt", "w") as f:

逐个写入文件名称

for file in files:

f.write(file + "\n")

```

说明:

`指定文件夹路径` 为需要获取文件名称的文件夹的路径。

`文件名称.txt` 为要存储文件名称的 TXT 文本文件的名称。

`写入模式`("w")表示覆盖原有文件并进行写入。

换行符("\n")用于在 TXT 文件中分隔文件名称。

优点:

批量获取:一次性获取多个文件名称,提高效率。

保存记录:将文件名称存储在 TXT 文件中,方便后续查找和使用。

简单易用:代码简洁明了,易于理解和使用。

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

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

在批处理脚本中,可以批量的获取指定文件夹中的全部文件名称,并将其赋值给变量以便后续使用。

步骤:

1. 使用FOR /F命令循环遍历文件:

```

FOR /F "delims=" %%f IN ('dir /B /S "C:\path\to\directory"') DO (

```

其中:

`/F`:指定遍历文件的模式。

`delims=`:指定分隔符为空,即不使用任何分隔符。

`%%f`:代表当前遍历到的文件名称。

`'dir /B /S "C:\path\to\directory"'`:使用`dir`命令列出指定目录及其子目录中的文件,并使用`/B`和`/S`选项只显示文件名称,并递归遍历子目录。

2. 将文件名称赋值给变量:

```

SET "file_name=%%f"

```

其中:

`SET`:用于设置或更新环境变量。

`file_name`:要设置的环境变量名称。

`%%f`:当前遍历到的文件名称,通过`%%f`引用。

3. 遍历结束:

```

```

示例脚本:

```

@ECHO OFF

SETLOCAL ENABLEDELAYEDEXPANSION

FOR /F "delims=" %%f IN ('dir /B /S "C:\Users\user\Downloads"') DO (

SET "file_name=%%f"

ECHO !file_name!

PAUSE

```

说明:

`@ECHO OFF`:关闭回显输出。

`SETLOCAL ENABLEDELAYEDEXPANSION`:启用延迟变量扩展,允许在`FOR`循环中使用环境变量。

`PAUSE`:在脚本运行结束后暂停,等待用户按任意键继续。

注意:

指定的文件路径中请使用反斜杠`\`作为目录分隔符。

如果文件名称中包含空格,请使用双引号将其括起来。

4、批处理 文件名前加序号

批处理为文件名加序号

在处理大量文件时,为文件名添加序号可以帮助我们快速识别和管理这些文件。批处理脚本是一种可以在 Windows 系统中使用的编程语言,可以自动化重复性任务。我们可以使用批处理脚本为文件名添加序号。

以下是一个简单的批处理脚本,可以为目录中的所有文件添加序号:

```

@echo off

setlocal enabledelayedexpansion

set counter=1

for %%f in () do (

set /a counter+=1

ren "%%f" "!counter!:~0,-3!%%~f"

endlocal

```

脚本解析:

`@echo off`:关闭命令回显,避免在控制台中显示脚本内容。

`setlocal enabledelayedexpanded`:允许使用延迟变量扩展,使我们可以使用 `!` 符号来引用变量。

`set counter=1`:初始化计数器变量为 1。

`for %%f in () do`:循环处理当前目录中的所有文件。

`set /a counter+=1`:将计数器加 1。

`ren "%%f" "!counter!:~0,-3!%%~f"`:使用 `ren` 命令重命名文件,将文件名中的第一个 3 个字符替换为当前计数器的值。

使用说明:

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

2. 将 `.bat` 文件复制到要添加序号的文件所在目录。

3. 运行 `.bat` 文件,它将为目录中的所有文件添加序号。

注意:

脚本中的 `` 可以替换为特定文件扩展名,例如 `.txt`,以只为特定类型文件添加序号。

计数器值从 1 开始,但可以在脚本中调整。

该脚本不会改变文件的内容,只改变文件名。