在Windows Server(数据中心?2008?)上,我试图设置一个计划任务,将:
以下是我到目前为止的batch file,但我挣扎。 我也打开另一种技术/机制。
@setlocal enableextensions enabledelayedexpansion @echo off SET MoveToDirectory=M:\_SourceVideosFromProduction ECHO MoveToDirectory=%MoveToDirectory% pause for /r %%i in (*) do ( REM ECHO %%i REM ECHO %%~nxi REM ECHO %%~ni REM ECHO filename=%filename% REM SET CurrentFilename=%%~ni REM ECHO CurrentFilename=%CurrentFilename% IF NOT %%~ni==__MoveSourceFiles ( IF NOT x%%%~ni:\.=%==x%%%~ni% DO ( REM SET HasDot=0 REM FOR /F %%g IN %filename% do ( REM IF %%g==. ( ECHO %filename% REM ) ) ) ) pause
这是在PowerShell中做到这一点的方法。 保存为.ps1文件。 将执行设置为从powershell提示符(以pipe理员身份运行启动)remoteigned: Set-ExecutionPolicy RemoteSigned
我根据你的要求为你创build并testing了这个脚本
然后,您需要创build一个调度powershell.exe脚本作为参数的计划任务
$folder_source="c:\source" $folder_dest="c:\dest" $twin_files=@(".flv",".mpg") foreach ($file in (get-childitem $folder_source)) { $move=$true foreach ($ext in $twin_files) { $filetocheck=$file.FullName+"$ext" if (!(Test-Path $filetocheck)) { write-Output "$filetocheck not exist" $move=$false } } if ($move -eq $true) { write-output "files are being moved for $($file.FullName)" move-Item $file.FullName $folder_Dest foreach ($ext in $twin_files) { $filetocheck=$file.FullName+"$ext" move-Item $filetocheck $folder_Dest } } }