Batch file 如何保存到当前目录下的txt文件+;文件名

Batch file 如何保存到当前目录下的txt文件+;文件名,batch-file,Batch File,我有一个批处理文件,它将当前目录中的所有文件名保存为txt文件 我还想保存目录名 然后在它们周围加上引号 所以输出文件如下所示: “目录\文件\名称” 这就是我到目前为止所做的 dir /b %path % > path.txt 为该批处理文件发出提示: @echo off Set "Folder=%~dp0" Set "Log=%~n0.txt" If Exist "%Log%" Del "%Log%" for /f %%f in ('Dir /b /s "%Folder%"') do

我有一个批处理文件,它将当前目录中的所有文件名保存为txt文件

  • 我还想保存目录名
  • 然后在它们周围加上引号
    所以输出文件如下所示:
  • “目录\文件\名称”

    这就是我到目前为止所做的

    dir /b %path % > path.txt
    

    为该批处理文件发出提示:

    @echo off
    Set "Folder=%~dp0"
    Set "Log=%~n0.txt"
    If Exist "%Log%" Del "%Log%"
    for /f %%f in ('Dir /b /s "%Folder%"') do echo "%%f" >> "%Log%"
    Start "" "%Log%"
    
    或者像@Ashwani Kumar在评论中发布的那样:


    在文本文件中存储带引号的文件路径只会发出尖叫声。您试图完成什么?您发布的代码没有意义。请尝试中提供的解决方案
    @echo off
    Set "Folder=%~dp0"
    Set "Log=%~n0.txt"
    If Exist "%Log%" Del "%Log%"
    SETLOCAL DisableDelayedExpansion
    SET "r=%__CD__%"
    FOR /R . %%F IN (*) DO (
      SET "p=%%F"
      SETLOCAL EnableDelayedExpansion
      ECHO("!p:%r%=!" >> "%Log%"
      ENDLOCAL
    )
    Start "" "%Log%"