2017-10-10 51 views
0

我有許多帶有自定義圖標的文件夾。所有文件夾都存在於同一目錄中。
例如。 D:\ Folder是包含文件夾1,文件夾2,.....等的目錄
並且每個文件夾包含它們各自的圖標和desktop.ini文件用於修改desktop.ini文件的Shell腳本

當前desktop.ini文件的內容如下:

[.ShellClassInfo] 
ConfirmFileOp=0 
NoSharing=1 
IconFile=folder1.ico 
IconIndex=0 
InfoTip=folder1 

我想從每個文件夾的Desktop.ini文件刪除NoSharing = 1

取出後,在ini文件應該是這樣的:

[.ShellClassInfo] 
ConfirmFileOp=0 
IconFile=folder1.ico 
IconIndex=0 
InfoTip=folder1 

ini文件是隱藏的,具有屬性:系統,隱藏,存檔。
感謝您能夠提供的任何幫助。

回答

0

只需要1個命令:遞歸地(-r)替換/刪除NoSharing=1行中的每個desktop.ini文件中的D:\Folder

msr -r -p D:\Folder -f "^desktop.ini$" -S -t "(\s+)NoSharing=1\s*" -o "$1" -R

  • 如果您想預覽多彩更換的結果,除去-R
  • 如果你想備份修改過的文件,添加-K-R -K-RK
  • 您還可以通過文件名過濾,目錄名稱,大小範圍,上次寫入時間範圍等,只需運行該exe來顯示內置的用法和文檔,或看到git文檔,如README.md

msr.exe/msr.gcc*/msr.cygwin是一個單一的EXE工具(約1.6MB,沒有依賴,對Windows和Linux的跨平臺版本)來查找和替換文件或管道文本遞歸和支持備份:在我打開的項目https://github.com/qualiu/msrtools目錄。

Replace files

+0

因爲我對此完全陌生。你能告訴我如何使用這個。 – Sam1803

+0

你在Windows上,對不對?所以,請下載[** msr.exe **](https://github.com/qualiu/msr/raw/master/tools/msr.exe)(如果您的Windows是32位,請使用「msr-Win32.exe」位)。要在任何地方使用它:**方法1 **:將其保存到像d:\ tools'這樣的目錄中,並將'd:\ tools'添加到您的計算機環境變量PATH中。 **方法-2 **:將'msr.exe'複製到'C:\ windows \ system32'。 – Quanmao

+0

只需運行該exe文件即可看到豐富多彩的用法和示例。否則,您可以在Windows **上查看在線內置文檔,例如[** msr](https://qualiu.github.io/msr/usage-by-running/msr-Windows.html)和[** readme .txt **](https://github.com/qualiu/msr/blob/master/tools/readme.txt)或[** Vivid examples **](https://qualiu.github.io/msr /demo/windows-test.html)。事實上,這些都來自[** README.md **](https://github.com/qualiu/msr/blob/master/README.md) – Quanmao

0

使用sedp RINT每一行除了不必要的線,對所有的文件名,(微軟Windows風格路徑名),以就地編輯和備份文件:

sed --in-place=.bak --quiet '/^NoSharing=1$/!p' D:\Folder\folder?\desktop.ini 

(刪除)

+0

抱歉,該文件夾** **名不完全folder1,2,3等,它們是不同的。我用它來作一般描述。如果您可以提供一種訪問所有文件夾名稱的方法,將會非常有幫助。感謝您的回答。 – Sam1803

+0

@ Sam1803,Re「*確切地說folder1,2,3 etc *」:請指定D:\ Folder \'是否包含任何*子文件夾,其中包含'desktop.ini'文件夾,這些文件夾不應該被改變。 – agc

+0

** D:\ Folder **是包含許多** _文件夾_ **的目錄,而這些** _文件夾_ **具有_desktop.ini_文件。 – Sam1803