我試圖在Windows Server 2003中運行以下命令,但sed創建了一堆文件,我無法從當前目錄內的命令行中刪除這些文件。Sed在Windows中創建不可刪除的文件
for /R %f in (*.*) do "C:\Program Files\gnuwin32\bin\sed.exe" -i "s/bad/good/g" "%f"
有沒有人有什麼建議?神祕的是,我可以使用Windows資源管理器刪除這些文件。
按照要求,這裏有一些例子,文件名:
- sed0E3WZJ
- sed5miXwt
- sed6fzFKh
而且,更多的故障排除信息...
- 它發生從命令提示符&批處理文件
- 如果我只需要在單個目錄上運行sed,那麼我使用
sed "s/bad/good/g" *.*
,並且一切正常。唉,我也需要它來處理所有的子目錄。 - 我只安裝了Sed。
- 桑達創造
這將幫助,如果你表現出一個例子文件名。我用「c:\ cygwin \ bin \ sed.exe」試過了你的命令,除了關於反斜槓和斜線的警告外,它工作正常。 – 2009-12-01 07:45:03
如果文件不是隻讀的,sed -i實際上對我來說效果不錯。沒有不可恢復的臨時文件,並且沒有錯誤。我應該提到,我將它與查找結合使用,而不是在for循環中。 – mjohnsonengr 2014-12-05 18:01:47