1

Я наткнулся на вопрос 217394, в котором объясняется, как копировать файлы, отсортированные по алфавиту, в один файл. Попытка реализовать команду сама выдала следующее сообщение об ошибке: Система не может найти указанный файл.
Команда, которую я пытаюсь выполнить, находится здесь:

for /f %i in ('dir /a-d /o-n /b O:\OrdersExport\Order*.txt') do @type %i >> C:\Users\Admin\Documents\OrderImport.txt

Ошибка не появляется, если я сначала перешел к нужной папке:

C:\>O:
C:\>cd OrdersImport

Я просто хочу скопировать одну строку из места назначения в этот единственный файл.

Кстати, если это имеет значение, O: это сопоставленная папка по сети

1 ответ1

0

Команда dir перечисляет только имена файлов. Так что переменная %i заполнена относительными путями. Если команда не запускается из рассматриваемого каталога, используйте %~fi чтобы развернуть относительный путь к абсолютному пути.

for /f "tokens=*" %i in ('dir /a-d /o-n /b "O:\OrdersExport\Order*.txt"') do (
    @type "%~fi" >> "C:\Users\Admin\Documents\OrderImport.txt"
)
  • tokens=* имеет дело с пробелами в именах файлов, поэтому %i всегда является целой строкой вывода dir .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .