相当于Windows上的“剪切”

时间:2014-07-31 18:28:41

标签: windows batch-file

我有一个文件,其条目如下。

/a/b/c/d/e/f
/a/b/c/g/k/l/f/j/h
/a/b/c/i/m/n/p

我需要Windows中的一个命令,它会从文件中删除'/a/b/c'部分。

输出文件应该看起来像

d/e/f
g/k/l/f/j/h
i/m/n/p

我尝试使用for命令和/作为分隔符,但我无法获得预期的结果。 我怎么能这样做?

2 个答案:

答案 0 :(得分:7)

@echo off

(for /f "tokens=3,* delims=/" %%a in (input.txt) do echo %%b) > output.txt

而“技巧”是要求第三个令牌以及其余部分。

直接从命令行使用它:

(for /f "tokens=3,* delims=/" %a in (input.txt) do @echo %b) > output.txt

转义的百分号已经过简化,从命令行开始,echo off默认情况下未启用,@需要echo

答案 1 :(得分:2)

的PowerShell:

get-content test.txt | foreach-object {
  $_ -replace '/a/b/c/',''
} | out-file test2.txt