我有一个CSV文件,每行要删除的引号和结尾的双引号是我要删除的,并制作了一个DOS批处理。以下适用于显式路径:
@echo off
setlocal enabledelayedexpansion
for /F "tokens=*" %%A in (C:\Folder\WrappedInQuotes.csv) do (
set line=%%A
echo !line:~1,-1! >> C:\Folder\UnWrapped.csv
)
当然,如果路径中有空格,以下将不起作用:
@echo off
setlocal enabledelayedexpansion
for /F "tokens=*" %%A in (C:\Folder\Sub Folder\WrappedInQuotes.csv) do (
set line=%%A
echo !line:~1,-1! >> C:\Folder\Sub Folder\UnWrapped.csv
)
((@echo on
,消息当然是“ ...cannot find the file C:\Folder\Sub
”)
作为下一步测试,我只是将两个显式文件规范包装在双引号中:
@echo off
setlocal enabledelayedexpansion
for /F "tokens=*" %%A in ("C:\Folder\Sub Folder\WrappedInQuotes.csv") do (
set line=%%A
echo !line:~1,-1! >> "C:\Folder\Sub Folder\UnWrapped.csv"
)
[使用@echo on
,For
似乎正在获取正确的文件规范(原始CSV),但是现在目标CSV具有]]
:\Folder\Sub Folder\EachLineWrappedInQuotes.cs
(源CSV完整文件规范,删除了第一个和最后一个字符,而不是删除了第一个和最后一个字符(双引号)的源CSV的内容。
[最终,我想用像%~dp0
这样的路径变量来替换显式路径,但是还不能通过“下一步测试”。
((我试图通过研究已经给出的许多答案来解决这个问题,但是没有成功,对不起!)
我有一个CSV文件,每行要删除的引号和结尾的双引号是我要删除的,并制作了一个DOS批处理。以下适用于显式路径:@echo off setlocal enabledelayedexpansion ...
要获取文件的内容并删除双引号,而无需设置变量,请设置usebackq