powershell - 列出一个文件夹结构中不在另一个文件夹结构中的文件

标签 powershell batch-file vbscript cmd

刚拿到新手机,暂时把旧手机的文件复制到电脑C:\OldPhone\

在我的电脑上,我的所有照片都在 D:\Photos 下的各个文件夹中。

我想要一些代码来列出 C:\OldPhone\下面的所有 .jpg 文件,这些文件不在 D:\Photos\下面的任何地方

这有意义吗?强调一下,文件夹结构并不相同,我不介意文件在哪里,只要它在那里就行。文件名比较适合初学者,添加大小的选项将是一个奖励!

CMD、VBS 或 powershell 都可以,但 visual studio 可以应对的任何东西也可以。

最佳答案

试试这个:

for /r "D:\Photos" %%a in (*.jpg) do set "$%%~na=1"
for %%a in (C:\OldPhone\*.jpg) do if not defined $%%~na echo %%~a not in d:\photos

cmd 有关联数组,就像awk。这不适用于包含 = 的文件名。

关于powershell - 列出一个文件夹结构中不在另一个文件夹结构中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17912404/

相关文章:

powershell - VMware VIM IPv6

MsBuild - 是否可以隔离批处理任务,以便一个失败的任务不会跳过剩余的任务?

windows - 在 Windows 批处理脚本中获取不带扩展名的文件名

internet-explorer - Css 在 IE 兼容性 View 中不工作

vbscript - 使用 vbscript 播放声音文件 (MP3)

asp-classic - JMail.SMTPMail 不工作 ("Microsoft VBScript runtime error ' 800a01ad' ActiveX 组件无法创建对象")

Powershell - 如果进程未运行,请启动它

regex - 从 powershell 正则表达式匹配中提取值

shell - powershell 命令未在 .bat 文件中运行?

c++ - 如何以这种方式使用变量 C++