【问题标题】:xcopy text file adds space to data - CMD Batch Filexcopy 文本文件为数据添加空间 - CMD 批处理文件
【发布时间】:2017-02-22 22:46:19
【问题描述】:

我有一个文本文件,我需要不时删除第一行数据。我有一个批处理脚本可以为我执行此操作,但由于某种原因,它在每行数据的末尾添加了一个空格。

经过多次循环,这会大大增加数据文件(10k+ 行数据,每个 xcopy 都有一个空间),我试图弄清楚必须按原样复制数据行,而不在最后添加额外的空间。

这是我的脚本:

for /f "skip=1 delims=*" %%a in (C:\Users\User1\Documents\DataSources\AccountData.csv) do (
    echo %%a >>C:\Users\User1\Documents\DataSources\newfile.txt    
)

xcopy C:\Users\User1\Documents\DataSources\newfile.txt C:\Users\User\Documents\DataSources\AccountData.csv /y

del C:\Users\User1\Documents\iMacros\DataSources\newfile.txt /f /q

有什么建议吗?非常感谢!

克里斯

【问题讨论】:

  • 如果去掉 %%a 和 >> 运算符之间的空格会怎样?
  • @dlatikay,是正确的。您实际上是在向文件回显一个空间。哪个组合在下面用他的答案纠正了。

标签: batch-file cmd xcopy


【解决方案1】:

快速的方法是将其更改为:

for /f "skip=1 delims=*" %%a in (C:\Users\User1\Documents\DataSources\AccountData.csv) do (
    (echo %%a)>>C:\Users\User1\Documents\DataSources\newfile.txt    
)

xcopy C:\Users\User1\Documents\DataSources\newfile.txt C:\Users\User\Documents\DataSources\AccountData.csv /y

del C:\Users\User1\Documents\iMacros\DataSources\newfile.txt /f /q

【讨论】:

  • 是的。可能值得添加一两行来说明为什么会有所作为
  • @dlatikay,因为仅仅删除 %%a 和 >> 运算符之间的空格不是解决方案。
  • @dlatikay,理论上删除空间确实可以解决问题,但有一个问题。如果您的数据以数字结尾,批处理文件会认为您正在重定向到不同的文件流。因此,要解决该问题,请将命令括在括号中。
猜你喜欢
  • 2021-10-04
  • 2010-12-23
  • 2017-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-08
  • 1970-01-01
相关资源
最近更新 更多