Batch file 批量删除文本文件中的引号和第一行数据
我正在编写代码来完成以下几件事:Batch file 批量删除文本文件中的引号和第一行数据,batch-file,cmd,quote,Batch File,Cmd,Quote,我正在编写代码来完成以下几件事: 将日期添加到文本文件的末尾 从文本文件中删除“删除” 从文本文件(标题)中删除第一行 测试文件如下所示: Header "Data Line 1 Data Line 2" 到目前为止,我有一个适用于第一项的方法: ``` @echo off for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a set YYYY=%dt:~0,4% set MM=%
Header
"Data Line 1
Data Line 2"
到目前为止,我有一个适用于第一项的方法:
```
@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set stamp=%MM%%DD%%YYYY%
move "C:\test\*.csv" "C:\test\test_%stamp%.txt"
```
完全未经测试,可能会产生不需要的结果,具体取决于文件内容(您没有向我们显示).请给出您的一个文件的真实示例。
cmd
在格式或特殊字符方面可能会非常挑剔。为了澄清:您想将日期添加到文件名或文件内容中吗?添加日期已经完成。我只需将此操作与其他两项结合使用。我正在删除我的第一行数据,即这将是一个名为“Extract”的标题,接下来的几行包含客户端信息。txt文件是一个csv文件,在将add(“)转换为整个文档时。如果您可以控制转换部分,那么您真的应该解决该问题。稍后修复意味着逐行读取文件,处理每一行并写入新文件。根据具体内容的不同,这可能会很困难。引号在CSV文件中起着重要作用。删除它们可能会损坏数据。任何包含“
、、
或
的值都必须被引用。”
文字值必须加倍。引用任何CSV值总是有效的,即使它不是必需的。使用SSRS我不能直接导出到文本。我必须下载/共享CSV文件,然后将其转换为文本文件。在该转换中,添加了报价。我不会转换回CSV,所以我不需要报价。谢谢你。它确实删除了第一行数据,但在其后的每一行文本中都添加了“line=*”。作为示例,我从文本文件中删除了这一行。“线路=5004123456789 191111200308Watkins Jacob Q1907151911181YYS 1906264.00 1500.00 500.00 123绿色公园大道Deltona AK3672954120787611N 4461233 RAMI 712128”额外的行=
问题应该用我编辑的代码解决(在您发表评论之前5分钟)。请再试一次这就是问题所在。谢谢一切似乎都在按预期进行。
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set stamp=%MM%%DD%%YYYY%
for %%a in ("c:\test\*.csv") do (
(for /f "usebackq skip=1 delims=" %%b in ("%%a") do (
set "line=%%b"
echo !line:"=!
))>"C:\test\test_%%~na_%stamp%.txt"
)