Windows 如何使用批处理文件停止aws同步进程?
我在批处理文件中编写aws s3数据备份,如下所示 测试蝙蝠Windows 如何使用批处理文件停止aws同步进程?,windows,batch-file,amazon-s3,cmd,aws-cli,Windows,Batch File,Amazon S3,Cmd,Aws Cli,我在批处理文件中编写aws s3数据备份,如下所示 测试蝙蝠 @echo off echo ---------Data synchronization START at %date% %time%------------ :loop aws s3 sync D:\backup s3://upload --exclude "*.jpg" IF %ERRORLEVEL% NEQ 0 GOTO :loop echo ---------Data synchronization END
@echo off
echo ---------Data synchronization START at %date% %time%------------
:loop
aws s3 sync D:\backup s3://upload --exclude "*.jpg"
IF %ERRORLEVEL% NEQ 0 GOTO :loop
echo ---------Data synchronization END at %date% %time%------------
此批处理文件使用如下所示的run.bat文件运行
跑吧,蝙蝠
@echo off
start test.bat
timeout /t 10
taskkill /fi "imagename eq aws.exe" /f
taskkill /fi test.bat /f
@echo off
start "" test.bat
timeout /t 10 >nul
taskkill /f /im cmd.exe /fi "windowtitle eq test.bat"
taskkill /f /im aws.exe /fi "imagename eq aws.exe"
我想在运行10秒后停止aws同步并关闭test.bat窗口test.bat
文件
我尝试使用taskkill/fi“imagename eq aws.exe”/f
并使用taskkill/fi test.bat/f
但是我无法停止aws同步进程并关闭
test.bat
window将title添加到test.bat,然后使用windowtitle的过滤器执行任务
@echo off
setlocal
title test.bat
echo ---------Data synchronization START at %date% %time%------------
for /L %%i in (1,1,1000)
aws s3 sync D:\backup s3://upload --exclude "*.jpg"
IF %ERRORLEVEL% NEQ 0 GOTO :loop
echo ---------Data synchronization END at %date% %time%------------
exit /b 0
跑吧,蝙蝠
@echo off
start test.bat
timeout /t 10
taskkill /fi "imagename eq aws.exe" /f
taskkill /fi test.bat /f
@echo off
start "" test.bat
timeout /t 10 >nul
taskkill /f /im cmd.exe /fi "windowtitle eq test.bat"
taskkill /f /im aws.exe /fi "imagename eq aws.exe"
您还可以在超时后添加stop.tmp
,检查文件是否存在,然后退出/b0
@echo off
setlocal
title test.bat
echo ---------Data synchronization START at %date% %time%------------
for /L %%i in (1,1,1000)
aws s3 sync D:\backup s3://upload --exclude "*.jpg"
IF EXIST stop.tmp del stop.tmp &exit /b 0
IF %ERRORLEVEL% NEQ 0 GOTO :loop
echo ---------Data synchronization END at %date% %time%------------
exit /b 0
run.bat和stop.tmp
@echo off
start "" test.bat
timeout /t 10 >nul
copy nul stop.tmp
将title添加到test.bat,然后使用windowtitle的过滤器taskill
@echo off
setlocal
title test.bat
echo ---------Data synchronization START at %date% %time%------------
for /L %%i in (1,1,1000)
aws s3 sync D:\backup s3://upload --exclude "*.jpg"
IF %ERRORLEVEL% NEQ 0 GOTO :loop
echo ---------Data synchronization END at %date% %time%------------
exit /b 0
跑吧,蝙蝠
@echo off
start test.bat
timeout /t 10
taskkill /fi "imagename eq aws.exe" /f
taskkill /fi test.bat /f
@echo off
start "" test.bat
timeout /t 10 >nul
taskkill /f /im cmd.exe /fi "windowtitle eq test.bat"
taskkill /f /im aws.exe /fi "imagename eq aws.exe"
您还可以在超时后添加stop.tmp
,检查文件是否存在,然后退出/b0
@echo off
setlocal
title test.bat
echo ---------Data synchronization START at %date% %time%------------
for /L %%i in (1,1,1000)
aws s3 sync D:\backup s3://upload --exclude "*.jpg"
IF EXIST stop.tmp del stop.tmp &exit /b 0
IF %ERRORLEVEL% NEQ 0 GOTO :loop
echo ---------Data synchronization END at %date% %time%------------
exit /b 0
run.bat和stop.tmp
@echo off
start "" test.bat
timeout /t 10 >nul
copy nul stop.tmp
你为什么要杀死aws和这批人?如果%ERRORLEVEL%NEQ 0转到:循环,则此行
不应在同步完成后结束循环?你试过杀死first test.bat吗?是的,我试过,但我不能杀死test.bat。你为什么要杀死aws和这批人?如果%ERRORLEVEL%NEQ 0转到:循环,则此行不应在同步完成后结束循环?你试过杀死第一个test.bat吗?是的,我试过,但我不能杀死test.battest.bat窗口不关闭test.bat窗口不关闭