說明
📋 把目前開啟文件的檔名複製到 Windows 剪貼簿。這種方法是透過建立中繼檔案(.txt 和 .bat)來完成剪貼簿操作,適用於 Adobe ExtendScript 無法直接存取剪貼簿的限制情境。
複製檔案名稱
var folderForTempFiles = Folder.temp.fsName; // 取得系統的暫存資料夾路徑
var text = activeDocument.name; // 取得目前開啟文件的檔名
// 建立一個新的文字檔,並將檔名寫入其中
var clipTxtFile = new File(folderForTempFiles + "/ClipBoard.txt");
clipTxtFile.open('w'); // 以寫入模式打開檔案
clipTxtFile.write(text); // 寫入檔名文字
clipTxtFile.close(); // 關閉檔案
// 建立批次檔,透過 clip.exe 將文字檔的內容複製到 Windows 剪貼簿
var clipBatFile = new File(folderForTempFiles + "/ClipBoard.bat");
clipBatFile.open('w'); // 以寫入模式打開批次檔
clipBatFile.writeln("type \"" + folderForTempFiles + "\\" + "ClipBoard.txt\" | clip"); // 輸入複製指令
clipBatFile.close(); // 關閉批次檔
clipBatFile.execute(); // 執行批次檔,把內容複製到剪貼簿
複製完整路徑
var folderForTempFiles = Folder.temp.fsName; // 取得系統的暫存資料夾路徑
var text = activeDocument.fullName.fsName; // 取得目前開啟文件的完整路徑(包含磁碟與資料夾)
// 建立一個新的文字檔,並將完整路徑寫入其中
var clipTxtFile = new File(folderForTempFiles + "/ClipBoard.txt");
clipTxtFile.open('w'); // 以寫入模式打開檔案
clipTxtFile.write(text); // 寫入完整路徑
clipTxtFile.close(); // 關閉檔案
// 建立批次檔,透過 clip.exe 將文字檔的內容複製到 Windows 剪貼簿
var clipBatFile = new File(folderForTempFiles + "/ClipBoard.bat");
clipBatFile.open('w'); // 以寫入模式打開批次檔
clipBatFile.writeln("type \"" + folderForTempFiles + "\\" + "ClipBoard.txt\" | clip"); // 輸入複製指令
clipBatFile.close(); // 關閉批次檔
clipBatFile.execute(); // 執行批次檔,把內容複製到剪貼簿
Tags
泉製作所