CMD dir 列出视频文件 - 未找到错误

CMD dir List video files - Not Found error

我编写了一些命令行代码(功能?我不知道这个技术术语,抱歉),用于查找网络文件夹(及其所有子文件夹)并仅列出这些文件的文件路径那是一种特殊的类型。我试着先在一个信息较少的文件夹上测试它,但是我得到了错误 File Not Found。这让我很困惑,因为我查看了文件夹——指定文件夹中肯定有 .VOB 和 .mp4 文件。

当我 运行 下面包含的代码时,我没有得到错误,但是我得到了一堆我不想要的文件 (.pdf .xml .jpeg --etc.) 我认为是因为它们是系统文件,例如 .avi 缩略图的 .jpeg 文件。

dir "\nas-rb4b\projectx2" /s /b *.avi *.mov *.mp4 *.wmv *.mpg *.lnk *.ldb *.rar *.mpeg *.m4v *.vob *.zip>Projx2RERUN.txt

任何人都可以帮助我理解为什么当我尝试 运行 完全相同的代码但使用不同的更具体的文件夹时出现 File Not Found 错误?

我也不知道如何修改 code/function 以排除不属于所列文件类型且不属于系统文件夹的文件。一如既往,非常感谢您的帮助!

阅读最新dir command reference in Windows Commands:

Syntax:

dir [<Drive>:][<Path>][<FileName>] [...] [/p] [/q] [/w] [/d] [/a[[:]<Attributes>]][/o[[:]<SortOrder>]] [/t[[:]<TimeField>]] [/s] [/b] [/l] [/n] [/x] [/c] [/4]

Remarks:

To use multiple FileName parameters, separate each file name with a space, comma, or semicolon.

有问题的命令dir "\nas-rb4b\projectx2" /s /b *.avi *.mov *.mp4 (截断)说并执行以下内容:

  • dir "\nas-rb4b\projectx2" /s /b,(即"\nas-rb4b\projectx2"中的所有文件),然后
  • dir /s /b *.avi(即当前目录下的所有.avi文件),然后
  • dir /s /b *.mov(即当前目录下所有.mov个文件),然后
  • dir /s /b *.mp4(即当前目录下所有 .mp4 个文件),...

解决方案(也阅读 pushd and popd 参考资料):

pushd "\nas-rb4b\projectx2"
dir /s /b *.avi *.mov *.mp4 *.wmv *.mpg *.lnk *.ldb *.rar *.mpeg *.m4v *.vob *.zip>Projx2RERUN.txt
popd

根据 Ken White along with a combination of the answers given here, here, and information from here 的一些建议,我做了下面的表达式,最终对我有用。

dir /b /s \nas-rb4b\projectx2\*.avi \nas-rb4b\projectx2\*.mov \nas-rb4b\projectx2\*.mp4 \nas-rb4b\projectx2\*.wmv \nas-rb4b\projectx2\*.mpg \nas-rb4b\projectx2\*.rar \nas-rb4b\projectx2\*.mpeg \nas-rb4b\projectx2\*.m4v \nas-rb4b\projectx2\*.vob \nas-rb4b\projectx2\*.zip

它不是很漂亮,但它允许我只使用一个表达式搜索多种文件类型,并将它们的路径全部发送到一个 txt 文件,而不是单独搜索每个文件扩展名。

目前一切正常。