草莓perl的,我需要獲得使用Perl腳本 繼承人的相關代碼修改時,它是最後一個文件中的信息:獲取文件的最後修改日期與Windows
#where $file equals "MyFile.txt"
$backslash = "\\";
$upTwoLayersHelper = "..$backslash..$backslash";
@fileInfo = qx(forfiles /M $file /P $upTwoLayersHelper /C "cmd /c echo @fdate @ftime");
QX是一個函數在Perl,其允許系統命令的執行,並輸出到可變
伊夫重定向已經調查了採用stat
並保持返回
Dec 31 of like 1960
所以this沒有爲我工作:/
我使用的變量$backslash
和$upTwoLayersHelper
建立「安全」的路徑,因爲窗戶喜歡使用\而不是/我測試,以確保該變量內插值qx(...這裏...)函數調用。
我的問題是我得到的唯一輸出是
當我打印的@fileInfo
變量
但當我QX(...)函數調用內運行相同的命令perl的外部,只是從命令行批量命令它工作並返回正確的日期信息
我在做我的Perl腳本錯誤?
謝謝你的時間!
您是否試過用[file test](http://perldoc.perl.org/functions/-X.html)進行修改time_ - '$ mod_days = -M $ file'?此外,模塊[Win32API :: File :: Time](http://search.cpan.org/~wyant/Win32API-File-Time-0.006/lib/Win32API/File/Time.pm)應該有所幫助。 – zdim
你提到'stat',但是爲了以防萬一:你是否使用'(stat $ file)[9]'作爲'mtime'? (在Windows上''ctime'不會像預期的那樣工作。) – zdim
澄清 - '-M'使用'stat'調用,但是你說什麼嘗試它很奇怪。 'stat'時間相關的字段以_since_ epoch秒爲單位,從_starts_ 1970開始。你如何得到一個像「_like 1960_」這樣的日期? '-M'以幾天的時間返回時間,更加清晰。 – zdim