BATの現在の作業パスを変更するWindowsバッチプロセス
フォルダ内の全ファイルの情報を取得し、カレントディレクトリのtest.txtに保存するcmdコマンドです。
dir /s /b *. * > test.txt
test.batファイルとして保存し、test.batをダブルクリックすると、そのフォルダディレクトリにtest.txtが生成され、すべてのファイルのパス情報が含まれるようになります。
プログラムのタスクスケジューラを開き、新しい基本タスクを作成し、作成手順をインストールし、スタートアッププログラムをtest.batに設定します。
タスクを右クリックして実行し、正常に実行されるかどうかを確認する test.bat
ここで問題が発生します。スケジュールされたタスクが終了したと表示されますが、先ほどのフォルダーのパスにtest.txtというファイルが生成されていないことがわかります。
その後、test.txtのパス情報を絶対パスに変更してから、再度スケジュールタスクを実行してみてください
dir /s /b *. * > D:\testtest.txt
まだ問題があって、test.txtは生成されるのですが、その中のファイル情報がカレントフォルダではなく、例えばwindowssystem32の配下にあるのです。C:\WINDOWS0409, etc.
問題はカレントワーキングパスにあり、システムがタスクを計画しているときのデフォルトのカレントワーキングパスは C:\WINDOWS32 なので、ファイル情報の下に C:\WINDOWS32 と表示されるのですが...。
現在の作業パスを変更する:batファイルに行を追加し、最初にbatがあるディレクトリを現在の作業パスに設定します。
cd /d %~dp0
dir /s /b *. * > test.txt
これで問題は完璧に解決し、スケジュールされたタスクが完璧に実行され、現在のフォルダー内のすべてのファイルが取得されます。
バッチファイルを使用して、現在の作業ディレクトリを変更する方法
バッチファイルの書き方について教えてほしいのですが。私は以下のように変数rootに格納されているパスを持っています。
set root=D:\WorkRoot
そして、次のように作業ディレクトリをこのルートに変更しています。
cd %root%
Dドライブの任意の場所からこのバッチファイルを実行すると、正常に実行されます。
ルート変数からドライブレターを取得する方法はありますか?カレントディレクトリをこのドライブに変更してから、cd %root%すればうまくいくはずです。
関連
-
cmdデスクトップショートカット一括作成ツール
-
Windowsでbatコマンドライン方式でIEのプロキシサーバー設定を変更する
-
bat は set /a 計算後の日付と時刻をインターセプトします、08 と 09 は不正な 8 進数として扱われます
-
cmdコマンドのリダイレクト出力 2>&1 解説
-
Windowsの空のフォルダを検索するバッチプログラムのコード例
-
管理者ユーザーを作成するためのdosnetの実装
-
Windows Server 2008 R2のリモートポート3389を変更するためのバッチコード
-
DOSバッチ処理上級編 第3章 FORコマンドの変数
-
DOSバッチコマンド For loopコマンド詳細説明
-
フォルダ内のサブフォルダやファイルを一定時間ごとにすべて削除する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
cmd 環境変数コマンド set 永続的な環境変数の設定 コマンド setx
-
一般的なDOSコマンドのまとめ
-
batコマンドのバッチプロセスは、32ビットまたは64ビットシステムかどうかを判断するために、さまざまな方法
-
ワンクリックcmdでJavaの環境変数を表示、変更(上書き、追加)などを設定。
-
バッチやvbsコードによるiniファイルの修正
-
DOS(バット)文字列置換の原理
-
DOSのバッチ構文における%~dp0などの拡張変数について解説します。
-
DOS高度活用バッチ処理チュートリアル 第6章 ifコマンドの解説
-
DOSバッチ処理上級編 第5章 setコマンド詳細編
-
FTPファイル一括アップロード