Удаление двойных кавычек в пакетной программе в Windows 2003 - PullRequest
0 голосов
/ 16 марта 2011

Я только что прошел через начинающего дозатора (вероятно, больше похож на мясника) и слишком долго боролся с этим (я нашел несколько предложений и попробовал их, но, похоже, ни один из них не работает - возможно,UE).У меня есть файл на компьютере с Windows 2003, который я создал с помощью пакетного файла (dir_list.txt), который выглядит следующим образом:

"t001wp" 
"w003th" 
"b005ku" 
"k009dp" 
.
.
.
.

Я хочу удалить двойные кавычки.Заранее спасибо за любую помощь.

Ответы [ 3 ]

2 голосов
/ 28 марта 2011

Поиск справки для команды «для», и ответ находится в нижней части справки. %% ~ i автоматически удалит кавычки. Если в цитируемом тексте есть пробелы, вам нужно использовать «tokens = *», чтобы захватить всю строку в кавычках. Надеюсь, это поможет.

@echo off

for /f "tokens=*" %%i in (x) do echo %%~i
1 голос
/ 16 марта 2011
@echo off

for /F "usebackq delims= " %%j in (dir_list.txt) do (
    echo %%~j>> new_dir_list.txt
)

Обновление: Отредактировано после предложения Боббого.

Обновление 2: Отредактировано с учетом конечных пробелов.

0 голосов
/ 16 марта 2011

Может быть:

type nul>output.txt
setlocal enabledelayedexpansion
for /f %%X in (my_file.txt) DO (
    set line=%%X
    set line=!line:"=!
    echo.!line!>>output.txt
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...