【发布时间】:2021-06-02 14:33:09
【问题描述】:
我是 .bat 脚本的新手。我正在尝试为 Windows 创建一个 .bat 文件,它只允许我移动包含子字符串“A20”的 pdf 文件。
在我的示例中,任何文件都被移动了,我不明白出了什么问题。
@echo off
echo %1|find ".pdf" >nul
if errorlevel 0 (
echo %1|find "A20" >nul
if errorlevel 1 (echo notfound) else (move C:\Users\Jesus\Downloads\source\%1 C:\Users\Jesus\Downloads\destination_A20\%1)
) else (
echo notfound
)
当我运行脚本时,任何文件都会被移动。当文件名包含“A20”时,我只需要移动 pdf 文件
我该怎么做?
【问题讨论】:
-
当使用
IF ERRORLEVEL语法时,它会检查errorlevel 是否大于或等于X。所以IF ERRORLEVEL 0基本上对所有内容都为TRUE。没有多少基本的 Windows 命令会产生负面的错误级别。来自帮助文件 ERRORLEVEL number 如果最后一次运行的程序返回的退出代码等于或大于指定的数字,则指定一个真条件。 -
旁注:您认为将控制台窗口中的文本复制并粘贴到您的问题中然后尝试上传屏幕截图会更容易吗?
-
@Squashman 我谨记您对下次机会的建议
标签: windows batch-file command-line