- 帖子
- 36
- 积分
- 102
- 技术
- 11
- 捐助
- 0
- 注册时间
- 2013-11-8
|
本帖最后由 nwm310 于 2017-3-18 11:18 编辑
新增 a.txt:b.txt
cmd
R:\>echo abc > a.txt:b.txt
R:\>
PowerShell
PS R:\> echo abc > a.txt:b.txt
out-file : 找不到磁碟機。名為 'a.txt' 的磁碟機不存在。
PS R:\> sc a.txt -Stream b.txt -Value abc
PS R:\>
註:檔案大小沒改變,但會改變修改日期
====================
複製q.jpg的內容到 a.txt:q.jpg
cmd
R:\>copy q.jpg a.txt:q.jpg
檔案名稱、目錄名稱或磁碟區標籤語法錯誤。
複製了 0 個檔案。
R:\>type q.jpg > a.txt:q.jpg
R:\>
註:type unicode格式的文件會變成ansi格式
type 大檔時會等比較久
PowerShell
PS R:\> copy q.jpg a.txt:q.jpg
copy : 找不到磁碟機。名為 'a.txt' 的磁碟機不存在。
PS R:\> gc q.jpg -enc byte -read 0 |sc a.txt -Stream q.jpg -enc byte
=======================
開啟 a.txt:q.jpg
mspaint a.txt:q.jpg
========================
用mklink來複製、開啟
(mklink需要系統管理員權限)
cmd
R:\>mklink link.jpg a.txt:q10.jpg
已建立 link.jpg 的符號連結 <<===>> a.txt:q10.jpg
R:\>copy q.jpg link.jpg
複製了 1 個檔案。
R:\>mspaint link.jpg
可以開啟 link.jpg
註:mklink link.jpg a.txt:q10.jpg
mklink link.jpg R:\a.txt:q10.jpg
兩者是有差別的
R:\>start link.jpg
系統無法執行指定的程式。
PowerShell
PS R:\> cmd /c mklink link2.jpg a.txt:q11.jpg
已建立 link2.jpg 的符號連結 <<===>> a.txt:q11.jpg
PS R:\> copy q.jpg link2.jpg
PS R:\> mspaint link2.jpg
可以開啟
PS R:\> ii link2.jpg
ii : 沒有任何應用程式與此操作的指定檔案有關聯。
PS R:\> start link2.jpg
start : 無法執行這個命令,因為發生錯誤: 沒有任何應用程式與此操作的指定檔案有關聯。。
===================
取出stream內容,另存新檔
7-Zip可以
cmd
R:\>copy a.txt:q.jpg out.jpg
a.txt:q.jpg
檔案名稱、目錄名稱或磁碟區標籤語法錯誤。
複製了 0 個檔案。
R:\>copy link.jpg out.jpg
參數錯誤。
複製了 0 個檔案。
R:\>type link.jpg > out.jpg
PowerShell
PS R:\> copy a.txt:q.jpg out.jpg
copy : 找不到磁碟機。名為 'a.txt' 的磁碟機不存在。
PS R:\> copy link.jpg out.jpg
copy : 參數錯誤。
=============
a.txt裡面有沒有stream
新版cmd dir /r
PowerShell
gi a.txt -stream *
================
重新命名 stream
7-Zip可以
===========
修改a.txt,對裡面stream的影響
用Notepad修改、儲存 → 不影響
R:\>echo aaa > a.txt
a.txt裡面的stream不見了
===============
刪除 stream
PowerShell
PS R:\> del a.txt -Stream q.jpg
註:a.txt仍存在
==============
相關指令
PowerShell
PS R:\> (gcm -ParameterName stream).name
Add-Content
Clear-Content
Get-Content
Get-Item
Out-String
Remove-Item
Set-Content
===============
找NTFS alternate data streams
PowerShell
PS R:\> dir -r | ?{ @(gi -Literal $_.FullName -stream * ).length -gt 1 }
================
stream名稱
a.txt 等於 a.txt:DATA
a.txt:q.jpg 等於 a.txt:q.jpg:$DATA
a.txt:$DATA 等於 a.txt:$DATA:$DATA
但並不是所有軟體都認得 |
-
1
评分人数
-
|