加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – 如果没有找到文件,如何避免创建输出文件?

发布时间:2020-12-14 01:35:29 所属栏目:Windows 来源:网络整理
导读:我有一个批处理脚本,询问路径,并询问我要在该路径中的文件夹和子文件夹中搜索的文件类型.然后它返回output.txt文件中这些文件的路径. 这是我的代码: @echo onset LOGFILE=output.txtset /P userInputPath=Enter the path you'd like to search?set /p "File
我有一个批处理脚本,询问路径,并询问我要在该路径中的文件夹和子文件夹中搜索的文件类型.然后它返回output.txt文件中这些文件的路径.

这是我的代码:

@echo on
set LOGFILE=output.txt
set /P userInputPath=Enter the path you'd like to search?
set /p "FileType=Enter file type(s) here (ex: txt,pdf,docx): "

call :LOG > %LOGFILE%
exit
:LOG
for %%A in (%FileType%) do (dir /b /s %userInputPath%*.%%A)
@pause

我想避免创建output.txt文件如果没有找到文件或输入的路径错误.任何人都可以帮我这个.谢谢!

解决方法

如果使用FOR命令列出文件,它将永远不会将输出重定向到日志文件,因为如果FOR命令不迭代任何文件名,则echo命令将永远不会执行.

@echo off
set "LOGFILE=output.txt"
del "%logfile%"
:LOOP
set /P "userInputPath=Enter the path you'd like to search;"
set /p "FileType=Enter file type(s) here (ex: txt,docx):"
IF NOT EXIST "%userInputPath%" (
    echo %userInputPath% does not exist
    GOTO LOOP
)

for /R "%userInputPath%" %%G in (%FileType%) do echo %%G>>%LOGFILE%
pause

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读