各位好
我有一些linux環境的指令,是用來記錄與刪除不在svn版本控管下的檔案
指令如下:
for /f %%i in ('svn status D:\AppServ\www\website --no-ignore ^| grep -e '^?.*\.php' ^| grep -v temp ^| sed 's/^? *//'') do echo %date% %time% %%i>> D:\hack\log\log.txt
for /f %%i in ('svn status D:\AppServ\www\website --no-ignore ^| grep -e '^?.*\.php' ^| grep -v temp ^| sed 's/^? *//'') do del /F %%i
我要將這些指令在windows環境,使用批次檔bat來執行
我有安裝了GNU,但執行語法後,會有錯誤
sed: -e expression #1, char 1: unknown command: `''
從這個錯誤訊息中,我無法分辨出什麼訊息
不知道是哪個環節有問題,亦或是版本有安裝異常?
想請教各位專家是否有什麼建議的方向
又或者,有辨法將這些這些linux指令改造成window可以用的指令呢?
萬分感謝
把^|
都改成|
試試看
for /f %%i in ('svn status D:\AppServ\www\website --no-ignore | grep -e '^?.*\.php' | grep -v temp | sed 's/^? *//'') do echo %date% %time% %%i>> D:\hack\log\log.txt
for /f %%i in ('svn status D:\AppServ\www\website --no-ignore | grep -e '^?.*\.php' | grep -v temp | sed 's/^? *//'') do del /F %%i
我有試著使用這方法,但系統回應這樣的結果,感覺有些混亂XD
D:\AppServ\www\website >for /f %%i in ('svn status D:\AppServ\www\Alumni --no-ignore | grep -e '^?.*\.php' | grep -v temp | sed 's/^? *//'') do echo %date% %time% %%i>> D:\hack\log\log.txt
這個時候不應有 %%i。
D:\AppServ\www\website >for /f %i in ('svn status D:\AppServ\www\website --no-ignore | grep -e '^?.*\.php' | grep -v temp | sed 's/^? *//'') do echo %date% %time% %i>> D:\hack\log\log.txt
這個時候不應有 |。
試試看
for /f %i in ("svn status D:\AppServ\www\website --no-ignore | grep -e '^?.*\.php' | grep -v temp | sed 's/^? *//'") do echo %date% %time% %i>> D:\hack\log\log.txt
再不行就先從這樣開始
成功再慢慢加回去
for /f %i in ("svn status D:\AppServ\www\website --no-ignore") do echo %date% %time% %i>> D:\hack\log\log.txt
感謝您的答覆,但這個結果與我所期望的有所出路
指令如此改寫後,會抓到的是.svn的檔案,但該檔案是系統的,不該被刪除
我有在專案中加入一個123.php的檔案,該檔案沒有在svn版本控管中,但卻沒有被記錄也沒有被刪除 ,感到困惑QQ
D:\AppServ\www\website>for /f %i in ("svn status D:\AppServ\www\website --no-ignore | grep -e '^?.*\.php' | grep -v temp | sed 's/^? *//'") do echo %date% %time% %i>> D:\hack\log\log.txt
D:\AppServ\www\website>echo 2021/09/29 週三 10:47:00.75 svn 1>>D:\hack\log\log.txt
D:\AppServ\www\website>for /f %i in ("svn status D:\AppServ\www\website --no-ignore ^| grep -e '^?.*\.php' ^| grep -v temp ^| sed 's/^? *//'") do del /F %i
D:\AppServ\www\website>del /F svn
找不到 D:\AppServ\www\website\svn
嗯,那就等待真正高手回答的正確答案了...
謝謝您~