簡體   English   中英

將文件從一個特殊文件夾移動到另一個特殊文件夾

[英]Move files from a special folder to another special folder

我正在編寫一個腳本來將 Outlook 簽名移動到%APPDATA%\\Microsoft\\Signatures\\ ,但它沒有按計划進行。

我想指示用戶將“簽名”文件夾放在他們的桌面上,然后運行一個腳本,將簽名文件夾中的所有項目移動到 AppData 文件夾。

我一直在閱讀,看起來不像將%userprofile%\\Desktop\\signatures\\*放入 VBScript 或 PowerShell 代碼那么簡單。 我不明白為什么 Windows 資源管理器知道如何處理該路徑,但 PowerShell/VBScript 不知道特殊文件夾是什么,但無論如何,我的代碼無法正常工作。

這是我嘗試使用 VBScript 執行的操作的示例:

Dim desktop
Dim appdata
desktop = object.SpecialFolders("Desktop")
appdata = object.SpecialFolders("APPDATA") 

With CreateObject("Scripting.FileSystemObject")
    .MoveFile desktop\MET_Signature_Template\*, appdata\Microsoft\Signatures\test\
End With

我收到一個語法錯誤,但沒有說明錯誤的原因。 我在這里嘗試了一些不同的東西,但都無濟於事。

如有疑問,請閱讀文檔

句法

object.SpecialFolders(objWshSpecialFolders)

參數

目的
WshShell對象。

改變這個:

desktop = object.SpecialFolders("Desktop")
appdata = object.SpecialFolders("APPDATA")

進入這個:

Set sh  = CreateObject("WScript.Shell")
desktop = sh.SpecialFolders("Desktop")
appdata = sh.SpecialFolders("APPDATA")

使用BuildPath方法構建源路徑和目標路徑:

Set fso = CreateObject("Scripting.FileSystemObject")
source      = fso.BuildPath(desktop, "MET_Signature_Template")
destination = fso.BuildPath(appdata, "Microsoft\Signatures\test")
fso.MoveFile source & "\*", destination & "\"

在 PowerShell 中,您可以這樣做:

$source      = "$env:APPDATA\MET_Signature_Template"
$destination = Join-Path [Environment]::GetFolderPath('Desktop') 'Microsoft\Signatures\test'
Copy-Item "$source\*" $destination

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM