1

Powershell バックアップ スクリプトに少し問題があります。タスク スケジューラと Robocopy を使用して、バックアップを展開しています。

これはコマンドの例です:

schtasks /Create /SC ONCE /TN $TaskName /TR "robocopy.exe $Source $Target /E /COPY:DAT /V /R:0 /W:0 /LOG+:$LogPfad" /ST $StartTime /SD $StartDate /F

問題は、スクリプトを実行するとタスクが表示されますが、同じ変数で同じテキストが使用されることです。

たとえば、このスクリプトは次のコマンドでタスクを実行します。

robocopy.exe $Source $Target /E /COPY:DAT /V /R:0 /W:0 /LOG+:$LogPfad

そのため、バックアップが正しく実行できません。

次のようにタスクに保存する必要があります。

robocopy.exe C:\test\source D:\test\target /E /COPY:DAT /V /R:0 /W:0 /LOG+:$LogPfad

コマンドを .bat ファイルに保存して実行するオプションがありますが、これは解決策ではありません。

誰かが私を助けることができれば素晴らしいだろう! :D

よろしくお願いします

ルバス

4

2 に答える 2

2

コードを見ると、次のようなことを試してみることができます。

schtasks /Create /SC ONCE /TN $TaskName /TR `"robocopy.exe $QuellPfadRAW $ZielPfad /M /E /COPY:DAT /V /R:0 /W:0 /LOG:$LogPfad`" /ST $StartTime /SD $StartDate /F

"s を Powershell 行に入れると、その中のすべてがリテラルとして取り込まれます。つまり、変数は置き換えられません。

` を各 " の前に置くと、それを無効にする必要があります。

申し訳ありませんが、お返事に時間がかかりました。

于 2012-11-08T17:15:16.297 に答える
1

どうですか

$taskrun = "`"robocopy.exe $Source $Target /E /COPY:DAT /V /R:0 /W:0 /LOG+:$LogPfad" /ST $StartTime /SD $StartDate`""
schtasks /Create /SC ONCE /TN $taskrun
于 2012-11-02T14:57:42.877 に答える