2015-04-23 75 views
0

我修改了我的問題做下面的評論指向我在新的方向。我試過了date.exe,但它無法在所有實例中設置該命令,即使它返回了時間戳。設置日期與WMIC(無效動詞開關)

於是我轉到了WMIC。但是,我似乎也無法設定日期。但我相信這可能是我對WMIC的理解。任何人都可以在我的方法中發現任何錯誤

@echo off 
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a" 
set "trail=%dt:~8%" & set "backdt=%dt:~0,8%" 
set "targetstamp=20150419%trail%" 
echo %targetstamp% 
targetstamp 
wmic OS Set localdatetime=%targetstamp% 
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "ndt=%%a" 
set "newtrail=%ndt:~8%" 
echo %backdt&&newtrail% 
wmic OS Set localdatetime=%backdt%%newtrail% 
pause 
+0

你爲什麼在保存時將'%date%'分開?爲什麼不直接保存'%date%'?它應該採用適當的格式,以便日後接受。 –

+0

我知道我的'%date%'變量是從星期幾開始的,它會將'%BackupDate%''變量設置爲'Wed 04/2',這絕對會破壞'date'命令。我無法對此進行測試,但很可能歐洲人在他們的日期變量中也有星期幾。 – SomethingDark

+0

在區域和語言設置中設置德語日期/時間設置時,環境變量__DATE__今天包含字符串「23.04.2015」,__TIME__具有「7:19:33,89」(以空格開頭)。 – Mofi

回答

1

OK,所以你得到的當前時間,更換日期,同時保持時間和TZ偏移量,設置日期時間,然後在wmic os set命令之後立即執行一些工作,然後恢復當前時間。

您的代碼是正確的。請注意,要通過wmic設置日期/時間,您需要使用提升的權限運行該命令,例如在Windows-Start-「cmd」中 - 右鍵單擊​​ - 「以管理員身份運行」。

編輯:
不,你看到的是cmd.exe治療的wmic Unicode的輸出後留下什麼落後。它需要一些強大的字符串拉來擺脫輸出中額外的'\ r'。
這就是現在正在運行沒有我的電腦上的錯誤:

@echo off 
    setlocal 

    set dt= 
    for /f "tokens=*" %%A in ('wmic OS Get localDateTime /value ^| findstr "."') do @set dt=%%A 
    set dt=%dt:~14,-1% 
    set "trail=%dt:~8%" 
    set "saveddt=%dt:~0,8%" 
    set targetstamp=20150419%trail% 
    wmic OS Set localdatetime=%targetstamp% 

    REM do some work... 
    pause 

    set dt= 
    for /f "tokens=*" %%A in ('wmic OS Get localDateTime /value ^| findstr "."') do @set dt=%%A 
    set dt=%dt:~14,-1% 
    set "newtrail=%dt:~8%" 
    wmic OS Set localdatetime=%saveddt%%newtrail% 

在特權CMD運行它報告已經設定新的日期。但是,我的電腦上沒有任何更改 - wmic OS set localdatetime只是不會更改日期。因人而異。

+0

我有一個隨機的'''干擾了新的郵票,但是現在,我得到'無效動詞switch.',管理與否 – WASasquatch

+0

嗯有趣,我必須想出替代這個怪異的舊應用程序。 – WASasquatch

1

一個在你的代碼的偏移量是不正確的:

set BackupDate=%date:~0,6%%date:~10,2% 

現在,

C:\>set bd=%date:~0,6%%date:~10,2% && echo %bd% 
23.04.15 
+0

謝謝,鑑於各種區域格式,以及字符串的可定製性,我正在嘗試一種新方法。查看更新的問題。 – WASasquatch

相關問題