Windows Fichiers Batch: si d'autre

Je suis en train de faire un simple fichier batch qui nécessite un argument (vous pouvez fournir de plus, mais je les ignore).

Pour les tests, c'est ce que j'ai jusqu'à présent.

if not %1 == "" (
    dir /s/b %1
) else (
    echo no
)

Fondamentalement, je veux dire si un argument est fourni, de manière récursive affichage de tous les fichiers dans le dossier. Sinon, dire non.

Il fonctionne quand je fournir un argument, mais si je ne fournis pas un il va tout simplement me dire ( was unexpected at this time.

Je veux dire, ça marche, mais je voulais au moins afficher un convivial message expliquant pourquoi il ne fonctionne pas. Comment dois-je changer le code?