windows bat系列7:for處理案例二 產生等差序列
1. for幫助原型
FOR /L %variable IN (start,step,end) DO command [command-parameters]
該集表示以增量形式從開始到結束的一個數字序列。因此,(1,1,5)將產生序列
1 2 3 4 5,(5,-1,1)將產生序列(5 4 3 2 1)
2. 一個案例程式碼
需求說明:
假設需要設計定時任務(schedule task),每隔一段時間將某個目錄下的檔案傳送到遠端機器,然後刪除目錄下的所有檔案,目錄下的檔案由其他任務產生。此案例指令碼就是模擬檔案的產生,通過for迴圈產生等差序列來區分不同的檔案。
@echo off
Rem close echo
chcp 437>nul
setlocal enabledelayedexpansion
Rem set parameters
set TIME_HOUR=!time:~0,2!
set TIME_MIN=!time:~3,2!
set SYS_TIME=%TIME_HOUR%_%TIME_MIN%
Rem enter script's path
pushd %~dp0
Rem create file
for /L %%i in (1,1,5) do (
set tmpfile=%SYS_TIME%_tempfile_%%i.txt
echo This is a temp file, seq is %%i >!tmpfile!
)
popd
endlocal
pause
程式的主要功能已經加了註釋,相信大家都能理解。主要說明以下幾點:
a. 對當前時間進行字串擷取後拼裝:
set TIME_HOUR=!time:~0,2!
set TIME_MIN=!time:~3,2!
set SYS_TIME=%TIME_HOUR%_%TIME_MIN%
目的是為了區別不同時間的檔案,因為前面需求說了:此指令碼可能被定時任務所呼叫。
b. pushd/popd表示將路徑壓棧並進入路徑,這樣產生的檔案就在指令碼的同級目錄,因為我沒有拼接檔案的完整路徑;
c. for /L產生等差序列。其中for迴圈體中根據時間和序列號拼接了檔名,並用echo的重定向向檔案寫入了一行文字。
3. 效果圖
相關文章
- windows bat系列11:for處理案例四 去掉字串中的空格WindowsBAT字串
- windows bat系列9:for處理案例三 單行按指定分隔符分割WindowsBAT
- windows 處理bat連線本地mysqlWindowsBATMySql
- 處理生產bug
- 10 Windows批處理之呼叫例程和bat檔案WindowsBAT
- Trick:處理加減等差數列的技巧
- bat 批處理字串操作BAT字串
- bat批處理常用指令碼BAT指令碼
- 【Oracle】死鎖的產生與處理Oracle
- [20210510]變態的windows批處理7.txtWindows
- 機器學習的7個真實世界生產案例機器學習
- 【精益生產】如何處理決策延遲?
- 影像處理案例03
- 怎樣處理重新命名系列案例程式碼
- windows bat系列10:批量設定&取消共享目錄WindowsBAT
- 批處理檔案 bat 後臺執行BAT
- bat批處理轉換成exe檔案BAT
- Windows Ping的結果顯示每次ping的時間的bat批處理指令碼WindowsBAT指令碼
- windows bat系列8:echo詳解與DOS輸出空行WindowsBAT
- 時間序列資料的處理
- FastJson 序列化處理 null 值ASTJSONNull
- 精益生產管理諮詢公司如何處理衝突?
- 批處理指令碼來修復並開啟Windows 7中的Windows Defender防火牆指令碼Windows防火牆
- 國產Dhyana禪定x86處理器開始啟動生產
- 多生產者-消費者中假死現象的處理
- 不是,哥們,誰教你這樣處理生產問題的?
- Python 影像處理 OpenCV (7):影像平滑(濾波)處理PythonOpenCV
- 玩轉大資料系列之二:資料分析與處理大資料
- Camera開發系列之二 相機資料回撥處理
- Python錯誤處理和異常處理(二)Python
- Python資料處理(二):處理 Excel 資料PythonExcel
- BAT批處理判斷服務是否正常執行(批處理命令綜合應用)BAT
- 如何檢測Windows服務停止後自動啟動?自動執行.bat批處理檔案?WindowsBAT
- jackson對日期的處理(序列化與反序列化)
- Windows生產力工具推薦Windows
- PHP+MySQL 千萬級資料處理案例(二) 分表的意義PHPMySql
- 四年運維生產經驗分享:Nordstrom的事件溯源系列之二-生產者釋出模式運維事件模式
- Go語言的 序列處理 和 並行處理 有什麼區別 ?Go並行