我是批处理脚本的新手,可以使用一些帮助。 我正在尝试编写一个批处理脚本,它将打开.txt文件,删除前4行,并删除一些其他东西,只留下一些数字。我需要一些帮助删除前四行。
@echo off
title test1
start users_6042014.txt
for /f "skip=4 delims=*" %%a in (C:\users_6042014.txt) do (
echo %%a >>C:\newfiletest.txt
)
xcopy C:\newfiletest.txt C:\users_6042014.txt /y
我认为这会删除第一行并制作新文件的副本,但它不起作用。任何帮助将不胜感激!
答案 0 :(得分:0)
您没有告诉我们批次的“工作”情况。
start users_6042014.txt
将使用默认编辑器(可能是记事本)打开文件,这可能不是您想要做的。尝试评论此行,或完全删除它。
请注意
echo %%a >>C:\newfiletest.txt
将附加到任何现有的C:\newfiletest.txt
,并且可能还会在每行的末尾附加一个空格。
尝试
(for /f "skip=4 delims=*" %%a in (C:\users_6042014.txt) do echo %%a)>C:\newfiletest.txt
重新创建文件。
最后,代替move
的{{1}}将替换现有文件; xcopy
将不复存在。
答案 1 :(得分:0)
测试一下:
这将忽略以;
和空行开头的行。
@echo off
title test1
for /f "usebackq skip=4 delims=" %%a in ("C:\users_6042014.txt") do (
>>"C:\newfiletest.txt" echo %%a
)
move "C:\newfiletest.txt" "C:\users_6042014.txt"