• ベストアンサー

DOSのバッチファイルでカレントフォルダを取得するには?

gatyanの回答

  • ベストアンサー
  • gatyan
  • ベストアンサー率41% (160/385)
回答No.1

Windows2000なら、 cd /d %0\.. としてみてください。

ak9457
質問者

お礼

ご教授いただいた方法でうまく出来ました。 ファイルでもフォルダみたいな扱いができるんですね。 ありがとうございました。

関連するQ&A

  • バッチファイルについて

    バッチファイルで複数起動する時に フォルダー名のフルパスが必要ですよね?? 参照 start "" "C:\Documents and aaaa\root\デスクトップ\aaaa\aaaa.bat" これのaaaa.batより以前を自動で拾いたいのですが可能ですか?? また拾ってきて aaaa.batとどうやって引っ付ければ start "" "C:\Documents and aaaa\root\デスクトップ\aaaa\aaaa.bat" ココに指定できますか?? 初心なもので、質問がおかしいと思いますが、宜しくお願います。

  • バッチファイルでCOPYができない。

    バッチファイルを作成するのが初めてでしてうまくいきません。 copy /Y "C:\Documents and Settings\(ユーザー名)\test.txt" sample\ というコードを実行してみたんですが、 C:\Documents and Settings\(ユーザー名)>copy /Y "C:\Documents and Settings\(ユーザー名)\test.txt" sample\ だとできて、 C:\Documents and Settings>copy /Y "C:\Documents and Settings\(ユーザー名)\test.txt" sample\ だとできません。 (実行する場所によって違うということです) どこで実行してもできるようにしたいのですがどうすればよろしいですか?

  • C#からバッチファイルを起動で

    C#からバッチファイルを起動しているのですが、 パス名にブランクがあると、cdコマンドがうまく動きません。 ブランクがないと動きます。 例:C:\Documents and Settings\user\My Documents\ バッチファイルを""で囲んでみたのですが、 うまく動きませんでした。 原因が分かれば教えて下さい。 よろしくお願い致します。 C#部分 --------------------------------------------------------------------------------- string strJarPath = Properties.Settings.Default.JarPath; ProcessStartInfo psInfo = new ProcessStartInfo(); psInfo.FileName = Application.StartupPath + @"\" + "cmdExe.bat"; psInfo.Arguments = strPath psInfo.CreateNoWindow = true; psInfo.UseShellExecute = false; psInfo.RedirectStandardOutput = true; Process p = Process.Start(psInfo); --------------------------------------------------------------------------------- ※Properties.Settings.Default.JarPath には、  C:\Documents and Settings\user\My Documents\java を設定 バッチファイル部分 ---------------------------------------------------------------------------------- @echo off cd "%1" java -cp test.jar Hello ---------------------------------------------------------------------------------

  • フルパスの中にワイルドカードを使いたい

    ファイル削除のバッチファイルを作成しているのですが、フルパスの中でワイルドカードを使用したいのですが、可能でしょうか? 例として、 C:\Documents and Settings\user\デスクトップ\abc\test.txt C:\Documents and Settings\user\デスクトップ\edf\test.txt C:\Documents and Settings\user\デスクトップ\gh\test.txt を削除させたいです。 別の場所に同名のテキストファイルがあり、それは消したくないので、「*test.txt」とはしたくないです。 試しに下記のようにワイルドカードを使用してみたところNGでした。 del "C:\Documents and Settings\user\デスクトップ\*\test.txt" よろしくお願いします。

  • エクセル VBA バッチが動かない。

    以下のVBAを試行錯誤の末(未熟なもので・・) 作ってみました。 デスクトップ上のフォルダを確認にて、存在する場合はそのままバッチ実行、 存在しない場合はフォルダを作成してバッチ実行。 というものなのですが、フォルダが存在する場合はすんなり行くのですが、 存在しない場合、フォルダを作成した後、バッチ処理がされなくて 困っています。どこが悪いのでしょうか? 是非ご教授お願いいたします。 ちなみにバッチはXCOPYです。 Sub SET_Original() Dim strPATHNAME As String strPATHNAME = "C:\Documents and Settings\ユーザー\デスクトップ\フォルダ" If StrConv(strPATHNAME, vbUpperCase) = "FALSE" Then Exit Sub If Dir(strPATHNAME, vbDirectory) = "" Then MsgBox "フォルダは作成します。", vbExclamation MkDir "C:\Documents and Settings\ユーザー\デスクトップ\フォルダ" Exit Sub End If Dim str As Variant str = Shell("c:\Documents and Settings\ユーザー\デスクトップ\copy.bat") End Sub

  • 複数のPCへファイルをコピーするバッチを作成したい

    WEBページへのショートカットを複数のPCへコピーするbatファイルを作成してみたのですがどうもうまくいきません。どのように記述したらよいでしょうか? 以下自分で作成してみたbatファイル xcopy "C:\テスト結果.url" "\\0001PC\C:\Documents and Settings\user\デスクトップ" /y /e ・ ・ ・ xcopy "C:\検査結果.url" "\\0100PC\C:\Documents and Settings\user\デスクトップ" /y /e また、コピー先のコンピュータ名を変数に代入する方法があれば教えてください。

  • バックアップをバッチファイルでしたいのですが・・

    バッチファイルを作成して、バックアップを取る方法を考えています。 Cドライブのフォルダ内のあるフォルダを 外付けハードにバックアップする方法です。 XCOPY C:\C:\Documents and Settings\ユーザー名\*.* F:\Documents and Settings\ユーザー名\/S/D/Y と作成しましたが、うまく動きません。 どこが間違っているのでしょうか? また、本当は、外付けハードではなく、 同じストレージ内にバックアップを取れたらいいなって思ってます。 具体的には、CドライブもDドライブも バックアップはDドライブの『bkup』というフォルダに保存できたらな・・・と。 しかし、そのバッチファイルを作成しても なぜかうまくいきません。 こういうのは無理なのでしょうか? 初心者なもので、わかりやすく教えて頂きたいです。 宜しくお願いします。

  • バッチファイルの親フォルダを取得するには

    WindowsのDOSコマンドを用いたバッチファイルで、バッチファイルと同じフォルダにある実行ファイルを起動したいのですが、どのようにするのがよいのでしょうか? 実行ファイルのファイル名は既知で固定なので、バッチファイルの親フォルダが取得できれば、連結して起動すればよいです。 しかし、バッチファイルの親フォルダの取得方法が分かりません。 カレントフォルダは%CD%で取得できるのですが、バッチファイルの親フォルダがカレントフォルダとは限りません。 バッチファイルのフルパスは%0で取得できるのですが、そこからフォルダ部のみを抽出する方法が分かりません。 よろしくお願いします。

  • デスクトップ上の全ファイル取得

    開発環境 WindowsXP,SP2 Visual Studio 2005 VC++ SDK SHGetFolderPath()でデスクトップのパスを取得した後、FindFirstFileによってデスクトップ上の全ファイル及びディレクトリの名前を取得したいと考えております。 SHGetFolderPathで取得したパスは、 C:\Documents and Settings\...\デスクトップ となっており、この文字列をwsprintfで次のように加工しました。 wsprintf(output,"%s\\*.*","C:\Documents and Settings\...\デスクトップ"); このoutputをFindFirstFile,FindNextFile,FindCloseを組み合わせたプログラムでディレクトリ内の全てのファイル及びディレクトリの名前を取得しています。 このプログラムは普通(?)のディレクトリでは有効で、こちらの期待通りの動きをしてくれるのですが、取得したデスクトップのパスを渡すと、デスクトップフォルダ内にはデスクトップという名前のフォルダしかないと出力されます。以下のような感じです。 調査ディレクトリ:C:\Documents and Settings\...\デスクトップ 調査結果 "C:\Documents and Settings\...\デスクトップ"ディレクトリ内のファイル及びディレクトリ:デスクトップ これはWindowsの仕様の動作なのでしょうか。 特殊フォルダであるデスクトップは、FindFirstFileでは調査出来ないのでしょうか? 他に方法はありますか? どうか教えてください。

  • カレントディレクトリ配下のフォルダパス取得方法

    現在バッチを作成しているのですが、 バッチファイルのカレントの下にあるフォルダのパスを 変数に格納し使用する方法を探しています。 構成としましては バッチフォルダ(C:\batch)の中に test.bat  folder1 folder2 の3つが格納されている状態を想定しています。 このfolder1とfolder2のファイルパスの取得方法を探しています。 ファイル名は不定であり、直接名前を指定する事が出来ないため 変数に格納しバッチ処理で使用したいと考えています。 環境はWindowsXPです。 何か上手い方法がありましたらお教え下さい。 以上です。よろしくお願いします。