Используя пакетный файл (.bat), я создаю скрипт, который требует динамических путей, чтобы он мог работать на нескольких компьютерах. Моя проблема в том, что когда я повторяю что-то в файле, он добавляет строку и возвращаемую карету.Эхо в файл приводит к пробелам в партии
Скажем, у меня есть текстовый файл с именем foo.txt
в каталоге командного файла, и его содержимое полностью пуст.
В пакетном файле, я бегу:
echo test > foo.txt
Содержимое foo.txt
будет:
L1: foo
L2:
Там будет пробел после foo
в первой строке и второй пустая строка. Теперь это было бы вполне нормально, и я бы полностью проигнорировал его, но пути к файлам не игнорируют его.
импорта текста из foo.txt так:
set /p foo=< foo.txt
... а потом:
set /p name=< C:\A.D.V.E.N.T.U.R.E.\test\%foo%\test2.txt
... будет истолковано как:
set /p name=< C:\A.D.V.E.N.T.U.R.E.\test\foo \test2.txt
В том числе нежелательное пространство. Есть ли способ сделать это так, что вы можете писать текст в файл без пробела или команду, которую можно использовать для удаления возврата каретки и пробела?
Спасибо! Хотя он все еще вставлял возврат каретки, пространство теперь ушло! – Poyo
Обратите также внимание, что 'echo test> foo.txt' будет работать так же хорошо. Чтобы избавиться от пространства, вы просто ... ну, избавитесь от пространства! –
Ah, true, @harry - но он не может создать полную строку, если строка, которую нужно эхо, завершает цифрой, тогда как '' файл echo something' делает. – Magoo