MENU

PC桌面指定文件夹所有文件并输出文件名 bat脚本

January 6, 2025 • Read: 33 • More

列出桌面上指定文件夹中的所有文件,并将文件名输出到一个文本文件中,一个文件占一行,自动换行,并包含文件后缀。

@echo off
setlocal enabledelayedexpansion

:: 设置桌面路径
set "desktopPath=%USERPROFILE%\Desktop"

:: 设置要列出文件的文件夹名称
set "folderName=指定文件夹名称"

:: 设置输出文件名
set "outputFile=output.txt"

:: 检查文件夹是否存在
if not exist "%desktopPath%\%folderName%" (
    echo 指定的文件夹不存在。
    exit /b 1
)

:: 清空输出文件
if exist "%desktopPath%\%outputFile%" del "%desktopPath%\%outputFile%"

:: 列出文件夹中的所有文件并输出到文件
for %%f in ("%desktopPath%\%folderName%\*") do (
    echo %%~nxf >> "%desktopPath%\%outputFile%"
)

echo 文件名已输出到 %desktopPath%\%outputFile%
pause

如果文件夹名包含空格,你需要确保在脚本中使用引号将文件夹路径包围起来,以确保路径被正确解析。以下是一个修改后的批处理脚本,适用于文件夹名中包含空格的情况:

@echo off
setlocal enabledelayedexpansion

:: 设置桌面路径
set "desktopPath=%USERPROFILE%\Desktop"

:: 设置要列出文件的文件夹名称,注意使用引号
set "folderName=指定文件夹名称"

:: 设置输出文件名
set "outputFile=output.txt"

:: 检查文件夹是否存在
if not exist "%desktopPath%\%folderName%" (
    echo 指定的文件夹不存在。
    exit /b 1
)

:: 清空输出文件
if exist "%desktopPath%\%outputFile%" del "%desktopPath%\%outputFile%"

:: 列出文件夹中的所有文件并输出到文件
for %%f in ("%desktopPath%\%folderName%\*") do (
    echo %%~nxf >> "%desktopPath%\%outputFile%"
)

echo 文件名已输出到 %desktopPath%\%outputFile%
pause

举例:
要输出的是C:UsersAdministratorDesktopyz文件夹,怎么修改和替换?

@echo off
setlocal enabledelayedexpansion

:: 设置要列出文件的文件夹路径
set "folderPath=C:\Users\Administrator\Desktop\yz"

:: 设置输出文件名
set "outputFile=output.txt"

:: 检查文件夹是否存在
if not exist "%folderPath%" (
    echo 指定的文件夹不存在。
    exit /b 1
)

:: 清空输出文件
if exist "%folderPath%\%outputFile%" del "%folderPath%\%outputFile%"

:: 列出文件夹中的所有文件并输出到文件
for %%f in ("%folderPath%\*") do (
    echo %%~nxf >> "%folderPath%\%outputFile%"
)

echo 文件名已输出到 %folderPath%\%outputFile%
pause

双击运行该批处理文件,它会在 C:\Users\Administrator\Desktop\yz 文件夹中创建一个名为 output.txt 的文件,里面包含了该文件夹中所有文件的文件名,每个文件名占一行,包含文件后缀.



Archives QR Code Tip
QR Code for this page
Tipping QR Code