Usar ~n
inclui apenas o nome do arquivo sem a extensão.
Você nem precisa de um arquivo de lote inteiro, apenas a seguinte linha é suficiente:
for %i in (*) do md "%~ni"
Ele deve ser executado a partir do diretório de destino, portanto, o diretório atual é irrelevante, pois md "%~ni"
é o padrão para criar o diretório no diretório de trabalho atual.
Se você quiser executá-lo a partir de qualquer diretório e passá-lo ao alvo (por exemplo, criar um atalho para arrastar e soltar pastas), você poderá usá-lo (por exemplo, Files2Folders.bat
):
@for %%i in (%1\*) do md "%1\%%~ni"