Мне нужен пакетный скрипт для всех текстовых документов в папке. Это то, что мне удалось до сих пор:Процитировать имена файлов в Batch Script
@ECHO off
title Test
set dir1=C:\Users\Family\Desktop\Example
:Start
cls
echo 1. test loop
echo 2. Quit
set /p choice=I choose (1,2):
if %choice%==1 goto test
if %choice%==2 exit
:test
cls
echo running loop test
FOR %%n in (%dir1% *.txt) DO echo %dir1%\%%n
echo Done
pause
что я хотел бы выводимый:
running loop test
C:\Users\Family\Desktop\Example\doc 1.txt
C:\Users\Family\Desktop\Example\doc 2.txt
Done
Но я получаю это:
running loop test
C:\Users\Family\Desktop\Example\C:\Users\Family\Desktop\Example
C:\Users\Family\Desktop\Example\doc 1.txt
C:\Users\Family\Desktop\Example\doc 2.txt
Done
Спасибо, что сработало отлично. Не могли бы вы объяснить мне %% ~ dpfX? – Krayons
'%% ~ nX' просто имя файла (test1), имя файла с расширением -' %% ~ nxX' (test1.txt). – hlcs
Чтобы уточнить: обратите внимание, что в его коде '%% X' указано все имя файла, которое было найдено. Остальные фрагменты '~ dpn' являются модификаторами' %% X'. Так как пользователь 2 сказал, используйте модификатор '~ n' для переменной, чтобы вывести только файл, вызывая' echo %% ~ nX' –