9

かなり単純な質問がありますが、どこにも解決策が見つからないようです。

バッチ ファイルでいくつかの変数を使用していますが、変数に応じてディレクトリを変更したいと考えています。

例えば、

variable SET /Jan2000 = a
cd P:\Reference\Data\2000\%a%

バッチファイルを実行すると、「2000」フォルダーにとどまり、私が尋ねるように下のフォルダーには移動しません。これを機能させる方法はありますか?

編集:リクエストに応じて、バッチファイルに書かれている正確なコードを次に示します。助けてくれてありがとう。

chdir /D P:\Reference\Data\2000
SET Jan2000 = a
chdir P:\Reference\2000\%a%   
dir
pause
4

3 に答える 3

5

@aphoriaの回答に多くを追加することはできませんが、これを試してください

set a=jan2000
pushd P:\Reference\Data\2000\%a%

ドライブを介したディレクトリの変更に問題がある場合のpushd代わりに使用します。cd(私は知っています、/dスイッチはそのためのものですが、試してみる価値があります)。

于 2012-07-12T16:25:36.947 に答える
5

SET変数が必要です。

例えば:

SET a=Jan2000
CD P:\Reference\Data\2000\%a%
于 2012-07-12T14:37:56.920 に答える
0

はい私は同意する。1 週間分の日次バックアップをローテーションで保持する必要があるため、システム日付から 3 文字の曜日を抽出して曜日フォルダーを作成します。

set Today=%DATE:~0,3%
Echo  The day of the week is %Today%
If exist U:\%Today% rd U:\%Today% /s /q
md U:\%Today%

U:\%Today% フォルダーに書き込むさまざまな Robocopy コマンドが続きます。

于 2013-03-28T16:23:44.383 に答える