1. 如何批量轉換為UNIX時間戳
我這里有一個日誌logtime
logtime日誌內容:
1255723142|NONE|CCVST|SIP/2324|UNPAUSE|
1255723142|NONE|CCGST|SIP/2324|UNPAUSE|
1255723203|NONE|CCISO|SIP/2324|UNPAUSE|
1255723203|NONE|CCVST|SIP/2324|UNPAUSE|
1255723203|NONE|CCGST|SIP/2324|UNPAUSE|
1255723256|NONE|CCISO|SIP/2324|UNPAUSE|
1255723256|NONE|CCVST|SIP/2324|UNPAUSE|
1255723256|NONE|CCGST|SIP/2324|UNPAUSE|
1255723263|NONE|CCISO|SIP/2324|UNPAUSE|
1255723263|NONE|CCVST|SIP/2324|UNPAUSE|
1255723263|NONE|CCGST|SIP/2324|UNPAUSE|
1255723323|NONE|CCISO|SIP/2324|UNPAUSE|
1255723323|NONE|CCVST|SIP/2324|UNPAUSE|
1255723323|NONE|CCGST|SIP/2324|UNPAUSE|
註:1255723323等為Unix時間戳
現在需要把它轉為以下格式:
lognow日誌內容:
2009-10-17 04:05:18|NONE|CCVST|SIP/2324|PAUSE|
2009-10-17 04:05:18|NONE|CCGST|SIP/2324|PAUSE|
2009-10-17 04:07:19|NONE|CCISO|SIP/2324|PAUSE|
2009-10-17 04:07:19|NONE|CCVST|SIP/2324|PAUSE|
2009-10-17 04:07:19|NONE|CCGST|SIP/2324|PAUSE|
2009-10-17 04:09:21|NONE|CCISO|SIP/2324|PAUSE|
2009-10-17 04:09:21|NONE|CCVST|SIP/2324|PAUSE|
2009-10-17 04:09:21|NONE|CCGST|SIP/2324|PAUSE|
2009-10-17 04:11:22|NONE|CCISO|SIP/2324|PAUSE|
2009-10-17 04:11:22|NONE|CCVST|SIP/2324|PAUSE|
time.sh腳本的內容:
#!/bin/sh
echo $1 | gawk -v str=$1 '{
day = strftime("%Y-%m-%d %H:%M:%S", str)
print day
}'
現在我用的方法是:
gawk 'BEGIN{FS="|"}{print $1}' logtime > temp
while read line; do ./time.sh >>now.txt $line;done < temp
再用windows下的UltraEdit的列模式用now.txt的內容復制替換logtimer的內容,而得出lognow日誌,為那位CU可以把我以上的內容整合成一個腳本再直接輸出lognow的內容......
2. 如何使用Windows10 PowerShell編輯時間戳
主要是更方便進行遠程管理和詳細的管理,相對於DOS更加強大。 壞處是沒有的,WinXP預裝是沒有Powershell的,Vista預裝Powershell1.0,Win7預裝Powershell2.0,Win8預裝Powershell3.0. 點開始,點運行,輸入Powershell就可以了,Powershell就是一個DOS的命令行工具而已。跟DOS一模一樣的,更強大一點而已。 你也可以在運行裡面輸入Powershell_ISE,這個是一個集成開發環境,用來寫腳本的,寫完的腳本後綴是PS1,用來代替VBS和Bat文件的。
3. 如何通過腳本或者批處理處理時間戳
@echooff
setfilename=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
echo%filename%
pause
獲取系統時間
@echooff
for/f"delims="%%ain("1.ini")doecho%%~nxa%%~ta>>3435.txt
pause
獲取文件名和最後修改時間
4. 如何為DOS批處理ping指令加時間戳
for /f "tokens=*" %%a in ('ping 192.168.91.1 -n 1^|findstr Reply') do echo %time%%%a >>%date%119.147.107.25.txt
5. 改變js腳本時間戳,不重啟瀏覽器,頁面從緩存取js文件而不從伺服器上更新js文件,這是為什麼
網上有一個整站下載的軟體!你可以去搞一下!
不過下下來的是靜態頁面!
6. shell腳本中時間戳問題
獲取時間戳:date +%s
精確到毫秒:echo $[$(date +%s%N)/1000000]
from:網頁鏈接
7. 使用windows腳本編寫自動壓縮文件、刪除源文件的腳本
怎麼確定什麼才算「過去5天」?根據文件名?按創建日期?按修改日期?
另外需要歸檔的文件,是否分散在不同的路徑,不同的文件夾?
我這里強烈推薦使用 robo 把需要備份的文件拷貝出來,然後再人工執行壓縮,亦或者可以使用計劃任務執行壓縮任務
robo "C:Log" "R:RoboCopylog" /MOV /V /MinaGE:5 /R:10 /W:30 /if *.log
/MOT:分鍾 可以設定監視器,定時執行移動文件操作
/MOT:m :: 監視源;如果更改,在 m 分鍾時間內再次運行。
詳細的參數可以參見下面的命令
-------------------------------------------------------------------------------
ROBOCOPY :: Windows 的可靠文件復制
-------------------------------------------------------------------------------
開始時間: Mon Dec 06 08:51:32 2021
用法 :: ROBOCOPY source destination [file [file]...] [options]
源 :: 源目錄(驅動器:路徑或\伺服器共享路徑)。
目標 :: 目標目錄(驅動器:路徑或\伺服器共享路徑)。
文件 :: 要復制的文件(名稱/通配符: 默認為 "*.*")。
::
:: 復制選項:
::
/S :: 復制子目錄,但不復制空的子目錄。
/E :: 復制子目錄,包括空的子目錄。
/LEV:n :: 僅復制源目錄樹的前 n 層。
/Z :: 在可重新啟動模式下復制文件。
/B :: 在備份模式下復制文件。
/ZB :: 使用可重新啟動模式;如果拒絕訪問,請使用備份模式。
/EFSRAW :: 在 EFS RAW 模式下復制所有加密的文件。
/COPY:復制標記:: 要復制的文件內容(默認為 /COPY:DAT)。
(復制標記: D=數據,A=屬性,T=時間戳)。
(S=安全=NTFS ACL,O=所有者信息,U=審核信息)。
/DCOPY:T :: 復制目錄時間戳。
/SEC :: 復制具有安全性的文件(等同於 /COPY:DATS)。
/COPYALL :: 復制所有文件信息(等同於 /COPY:DATSOU)。
/NOCOPY :: 不復制任何文件信息(與 /PURGE 一起使用生效)。
/SECFIX :: 修復所有文件的文件安全性,即使是跳過的文件。
/TIMFIX :: 修復所有文件的文件時間,即使是跳過的文件。
/PURGE :: 刪除源中不再存在的目標文件/目錄。
/MIR :: 鏡像目錄樹(等同於 /E 和 /PURGE)。
/MOV :: 移動文件(復制後從源中刪除)。
/MOVE :: 移動文件和目錄(復制後從源中刪除)。
/A+:[RASHCNET] :: 將給定的屬性添加到復制文件。
/A-:[RASHCNET] :: 從復制文件中刪除給定的屬性。
/CREATE :: 僅創建目錄樹和長度為零的文件。
/FAT :: 僅使用 8.3 FAT 文件名創建目標文件。
/256 :: 關閉超長路徑(> 256 字元)支持。
/MON:n :: 監視源;發現多於 n 個更改時再次運行。
/MOT:m :: 監視源;如果更改,在 m 分鍾時間內再次運行。
/RH:hhmm-hhmm :: 運行小時數 - 可以啟動新副本的時間。
/PF :: 以每個文件(而不是每個步驟)為基礎檢查運行小時數。
/IPG:n :: 程序包間的間距(ms),以釋放低速線路上的帶寬。
/SL :: 對照目標復制符號鏈接。
/MT[:n] :: 使用 n 個線程進行多線程復制(默認值為 8)。
n 必須至少為 1,但不得大於 128。
該選項與 /IPG 和 /EFSRAW 選項不兼容。
使用 /LOG 選項重定向輸出以便獲得最佳性能。
::
:: 文件選擇選項:
::
/A :: 僅復制具有存檔屬性集的文件。
/M :: 僅復制具有存檔屬性的文件並重置存檔屬性。
/IA:[RASHCNETO] :: 僅包含具有任意給定屬性集的文件。
/XA:[RASHCNETO] :: 排除具有任意給定屬性集的文件。
/XF 文件[文件]... :: 排除與給定名稱/路徑/通配符匹配的文件。
/XD 目錄[目錄]... :: 排除與給定名稱/路徑匹配的目錄。
/XC :: 排除已更改的文件。
/XN :: 排除較新的文件。
/XO :: 排除較舊的文件。
/XX :: 排除多餘的文件和目錄。
/XL :: 排除孤立的文件和目錄。
/IS :: 包含相同文件。
/IT :: 包含已調整的文件。
/MAX:n :: 最大的文件大小 - 排除大於 n 位元組的文件。
/MIN:n :: 最小的文件大小 - 排除小於 n 位元組的文件。
/MAXAGE:n :: 最長的文件存在時間 - 排除早於 n 天/日期的文件。
/MINAGE:n :: 最短的文件存在時間 - 排除晚於 n 天/日期的文件。
/MAXLAD:n :: 最大的最後訪問日期 - 排除自 n 以來未使用的文件。
/MINLAD:n :: 最小的最後訪問日期 - 排除自 n 以來使用的文件。
(If n < 1900 then n = n days, else n = YYYYMMDD date)。
/XJ :: 排除接合點。(默認情況下通常包括)。
/FFT :: 假設 FAT 文件時間(2 秒粒度)。
/DST :: 彌補 1 小時的 DST 時間差。
/XJD :: 排除目錄的接合點。
/XJF :: 排除文件的接合點。
::
:: 重試選項:
::
/R:n :: 失敗副本的重試次數: 默認為 1 百萬。
/W:n :: 兩次重試間的等待時間: 默認為 30 秒。
/REG :: 將注冊表中的 /R:n 和 /W:n 保存為默認設置。
/TBD :: 等待定義共享名稱(重試錯誤 67)。
::
:: 日誌記錄選項:
::
/L :: 僅列出 - 不復制、添加時間戳或刪除任何文件。
/X :: 報告所有多餘的文件,而不只是選中的文件。
/V :: 生成詳細輸出,同時顯示跳過的文件。
/TS :: 在輸出中包含源文件的時間戳。
/FP :: 在輸出中包含文件的完整路徑名稱。
/BYTES :: 以位元組列印大小。
/NS :: 無大小 - 不記錄文件大小。
/NC :: 無類別 - 不記錄文件類別。
/NFL :: 無文件列表 - 不記錄文件名。
/NDL :: 無目錄列表 - 不記錄目錄名稱。
/NP :: 無進度 - 不顯示已復制的百分比。
/ETA :: 顯示復制文件的預期到達時間。
/LOG:文件 :: 將狀態輸出到日誌文件(覆蓋現有日誌)。
/LOG+:文件 :: 將狀態輸出到日誌文件(附加到現有日誌中)。
/UNILOG:文件 :: 以 UNICODE 方式將狀態輸出到日誌文件(覆蓋現有日誌)。
/UNILOG+:文件 :: 以 UNICODE 方式將狀態輸出到日誌文件(附加到現有日誌中)。
/TEE :: 輸出到控制台窗口和日誌文件。
/NJH :: 沒有作業標頭。
/NJS :: 沒有作業摘要。
/UNICODE :: 以 UNICODE 方式輸出狀態。
::
:: 作業選項 :
::
/JOB:作業名稱 :: 從命名的作業文件中提取參數。
/SAVE:作業名稱 :: 將參數保存到命名的作業文件
/QUIT :: 處理命令行後退出(以查看參數)。
/NOSD :: 未指定源目錄。
/NODD :: 未指定目標目錄。
/IF :: 包含以下文件。
8. 腳本錯誤進不去網頁
建議下載一款<佛愛我羊>工具修復一下.
9. 菜鳥求教這個WinSCP的用腳本能做嗎
WinSCP集成的是SCP和SFTP,當然可以用腳本來批量做上傳了。
一個簡單例子:
option echo off
option transfer binary
open <sftp_or_ftp>://<user>:<password>@<host_ip>:<port> -privatekey <private_key_file>
cd <remote_dir>
put *.doc
exit
用命令執行該腳本:winscp /script=<batch_file> /ini=<WinSCP.ini_location> /log=<log_file>
如果需要配置傳輸參數,在WinSCP.ini配置,例如PreserveTime=0保持源文件的時間戳。
10. lua腳本如何對比時間
參考方法如下:
local str1 = "12:36:28"
local str2 = "14:38:45"
local h1,m1,s1 = string.match(str1,"(%d+):(%d+):(%d+)")
local h2,m2,s2 = string.match(str2,"(%d+):(%d+):(%d+)")
local time1 = h1 * 3600 + m1 * 60 + s1
local time2 = h2 * 3600 + m2 * 60 + s2
print(time2 - time1)
得出的是 相差多少秒 除3600就是多少小時啦