本帖最后由 pcl_test 于 2016-11-9 19:29 编辑
- @echo off
- for %%a in (a b c d) do (
- set p=%%a
- rem 每循环一次,p的值更替一次
- call echo;%%p%%
- )
- rem 最后p的值为最末一次循环的结果,不能判断哪个不存在
- echo;----%p%
- pause
复制代码
- @echo off&setlocal enabledelayedexpansion
- ::举个栗子
- rem 方法一
- for %%a in (a b c d) do cmd /u /c echo;a c|find "%%a">nul||set "p=!p! %%a"
- echo;缺%p%
- pause
- set p=
- rem 方法二
- for /f %%a in ('cmd /u /c echo;a b d^|more') do set "#%%a=1"
- for %%a in (a b c d) do if not defined #%%a (set "p=!p! %%a")
- echo;缺%p%
- pause
复制代码 ================- rem win7及以上系统运行
- powershell -c "$list='a','b','c','d';$a=@{};$list|%%{$a[$_]=0};gps $list -ErrorAction SilentlyContinue|%%{$a[$_.Name]+=1};$c=@();foreach($b in $a.Keys){if($a[$b] -eq 0){$c+=(,$b)}};$a;if($c){\"`r`n不存在:\"+($c -join '; ')"}
- pause
复制代码
|