Discussion:
EXIST ISFILE ISDIR...
(too old to reply)
Laurent Jumet
2014-07-04 08:00:41 UTC
Permalink
Hello !

TCC 11,00,52

On my system, I *never* get the answer "CONTAINING DIRS" with the batch below.
Seems that ISFILE works like EXIST.

=== Begin Windows Clipboard ===
DIR /A:D /S /B | FOR %i IN (@CON) GOSUB loop
QUIT
:loop
IFF ISFILE %i\*.* THEN
ECHO CONTAINING FILES : %i
ELSEIFF ISDIR %i\*.* THEN
ECHO CONTAINING DIRS : %i
ELSE
ECHO READY TO DELETE : %i
=== End Windows Clipboard ===

=== Begin Windows Clipboard ===
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0000
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_000A
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_000B
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_000C
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_000D
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_000E
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_000F
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0001
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_001A
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_001B
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_001C
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_001D
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_001E
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_001F
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0002
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_002A
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_002B
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_002C
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_002D
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_002E
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_002F
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0003
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_003A
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_003B
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_003C
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_003D
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_003E
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_003F
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0004
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_004A
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_004B
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_004C
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_004D
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_004E
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_004F
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0005
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_005A
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_005B
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_005C
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_005D
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_005E
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_005F
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0006
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_006A
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_006B
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_006C
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_006D
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_006E
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_006F
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0007
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_007A
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_007B
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_007C
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_007D
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_007E
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_007F
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0008
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0009
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0010
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0011
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0012
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0013
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0014
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0015
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0016
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0017
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0018
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0019
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0020
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0021
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0022
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0023
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0024
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0025
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0026
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0027
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0028
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0029
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0030
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0031
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0032
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0033
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0034
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0035
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0036
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0037
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0038
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0039
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0040
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0041
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0042
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0043
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0044
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0045
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0046
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0047
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0048
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0049
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0050
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0051
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0052
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0053
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0054
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0055
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0056
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0057
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0058
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0059
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0060
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0061
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0062
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0063
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0064
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0065
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0066
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0067
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0068
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0069
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0070
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0071
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0072
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0073
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0074
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0075
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0076
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0077
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\g_0078
READY TO DELETE : C:\INTERWIN\OPERA\cache4\g_0079
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\revocation
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\sesn
READY TO DELETE : C:\INTERWIN\OPERA\cache4\temporary_download
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0001
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_001D
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_001E
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0002
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_002A
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_002B
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_002D
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_005F
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_006C
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_007B
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0013
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0014
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0015
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0020
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0022
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0023
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0024
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0029
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0033
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0035
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0045
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0052
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0054
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0058
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0063
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0067
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0068
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0070
READY TO DELETE : C:\INTERWIN\OPERA\cache4\assoc002\g_0071
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\assoc002\sesn
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\revocation\g_0000
CONTAINING FILES : C:\INTERWIN\OPERA\cache4\temporary_download\temporary_downloads
=== End Windows Clipboard ===
--
Laurent Jumet - Point de Chat, Liège, BELGIUM
KeyID: 0xCFAF704C
[Restore address to laurent.jumet for e-mail reply.]
Laurent Jumet
2014-07-05 10:16:09 UTC
Permalink
Hello !
Post by Laurent Jumet
TCC 11,00,52
On my system, I *never* get the answer "CONTAINING DIRS" with the batch
below. Seems that ISFILE works like EXIST.
=== Begin Windows Clipboard ===
QUIT
:loop
IFF ISFILE %i\*.* THEN
ECHO CONTAINING FILES : %i
ELSEIFF ISDIR %i\*.* THEN
ECHO CONTAINING DIRS : %i
ELSE
ECHO READY TO DELETE : %i
RETURN
Post by Laurent Jumet
=== End Windows Clipboard ===
--
Laurent Jumet - Point de Chat, Liège, BELGIUM
KeyID: 0xCFAF704C
[Restore address to laurent.jumet for e-mail reply.]
hopflop
2014-07-05 15:43:54 UTC
Permalink
I think you forgot ENDIFF too :)
Post by Laurent Jumet
ELSEIFF ISDIR %i\*.* THEN
I don't think ISDIR takes wildcards, so it won't tell you if there are
any directories in %i.

Try something else, maybe @FINDFIRST with +d attribute
--
hopflop
Laurent Jumet
2014-07-05 18:37:41 UTC
Permalink
Hello hopflop !
Post by hopflop
I think you forgot ENDIFF too :)
:-) Yes...
But in my message only, not in the batch that works.
Post by hopflop
I don't think ISDIR takes wildcards, so it won't tell you if there are
any directories in %i.
...you are right. The HELP talks about a "path" but doesn't assume anything
further.
...you are right again ! This finally works as expected:

=== Begin Windows Clipboard ===
DIR /A:D /S /B | FOR %i IN (@CON) GOSUB loop
QUIT
:loop
IFF ISFILE %i\*.* THEN
ECHO CONTAINING FILES : %i
ELSEIFF EXIST %@FINDFIRST["%i\*.*",d] THEN
ECHO CONTAINING DIRS : %i
ELSE
ECHO READY TO DELETE : %i
ENDIFF

RD /Ne %i
RETURN
=== End Windows Clipboard ===

I don't find any nested empty directories after passing the batch, so it seems
that "RD /Ne %i" deletes them first; but I'm not 100% sure of that right now.
--
Laurent Jumet - Point de Chat, Liège, BELGIUM
KeyID: 0xCFAF704C
[Restore address to laurent.jumet for e-mail reply.]
Loading...