列出桌面上指定文件夹中的所有文件,并将文件名输出到一个文本文件中,一个文件占一行,自动换行,并包含文件后缀。
@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
的文件,里面包含了该文件夹中所有文件的文件名,每个文件名占一行,包含文件后缀.