.batスクリプトで特定の曜日をテストするにはどうすればよいですか?[複製]


0

この質問にはすでに答えがあります:

(Intel i7上のWin 8.1 Pro 64b)

さて、私はこの完全に自動化されたバックアップスクリプトを毎日実行しています。ただし、保存されたディレクトリの1つ(スペースの約25%を消費し、その結果、合計バックアップ時間のほぼ同じ部分)が変更されることはほとんどありません。

ここで、問題のディレクトリを週に一度だけ保存することを選択します。.batファイルで曜日を取得する方法がわからないということだけです。

(もちろん、昔のHP41Cで行われていたことを行うことができ、月、日、年を含む計算を行うことができますが、まあ、私はそれを計画Bと考えています。)

何らかの方法でより効率的な方法で曜日を.bat変数にロードする方法はありますか?


同意した。グッドプラクティスと見なされるものは何ですか?この質問を削除するには?
ハーブ

回答:


1

はい、できます。

次のコマンドを使用して日を取得できます。

set day=%date:~0,2%

%day%日付が含まれています。

ロケールによっては、日付が2ではなく3文字の日を返す可能性があります。その場合は、 set day=%date:~0,3%

説明:%date%には、日で始まり、OSで使用される言語の日付が続く小さな文字列が含まれています。このコマンドは、dayという新しい変数を作成し、結果として変数%date%の最初の2文字を取得します。


echo%date%は日付のみを出力しますが、曜日(日曜日、月曜日...)に関する情報は出力しません。
ハーブ

うーん、それは私のために。それはロケールの一部でもあるようです。残念。次に、%date%変数に曜日を含めるようにロケールを変更する方法を理解する必要があります。
LPChip

実行するdate /tと、それが表示されますか?
LPChip

いいえ、日付だけです。(ロケールは "dd.mm.yyyy"として表示されるde-chです。)しかし、MSが同じOS上でcmdステートメントの機能をロケールに依存させるとは信じがたいです。-スピーチ:Win 8.1も使用していますか?
ハーブ

私はwindows 10を使用していますが、これはwindows 7、xp、2000、およびそれ以前でも動作することを経験から知っています。ma 29-5-2017私のコンピューター(オランダ語)のように表示されます。これは、コントロールパネルの短い日付設定と同じです。この動作を中心にかなりの数のスクリプトを作成しましたが、はい、確かにロケールに基づいています。しかし、奇妙なことに、その設定を変更してからコマンドプロンプトを開いても変更されません。
LPChip
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.