批处理选取文件名前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 开始,但可以在脚本中调整。
该脚本不会改变文件的内容,只改变文件名。