電子書籍の厳選無料作品が豊富!

”123”というフォルダの中にバッチファイルがあります
このバッチファイルを実行すると、フォルダ名を取得して、”123 あ”というフォルダと
”123 い”というフォルダをフォルダ”123”の中に作りたいのですができるのでしょうか?

そして、このバッチファイルをコピーして、フォルダ”456”の中に貼り付けます。
ここでバッチファイルを実行すると、フォルダ”456”のなかに、”456 あ”と”456 い”というフォルダを
作れるようにしたいのですが。

お分かりの方、よろしくお願いいたします。

A 回答 (4件)

No.2です。

少し訂正します。(フォルダ名に空白がある場合の対応)
ちなみにこのバッチはフォルダ名の文字数が可変でもOKです。

:-------------------------- mkAI.bat
pushd "%~dp0"
for %%d in ( "%CD%" ) do set dirname=%%~nxd
md "%dirname% あ"
md "%dirname% い"
popd
    • good
    • 0
この回答へのお礼

回答ありがとうございました

うまくいき、大変たすかりました

お礼日時:2011/02/14 15:40

#1 です。



#3 のpita-goraさんのバッチの方がクールですね。

フォルダ名の長さに依存しないし、タスクスケジューラでも実行できるので、より汎用的です。
    • good
    • 0
この回答へのお礼

回答ありがとうございました

お礼日時:2011/02/14 15:40

以下のようなバッチで実現できます。



:-------------------------- mkAI.bat
pushd %~dp0
for %%d in ( %CD% ) do set dirname=%%~nxd
md "%dirname% あ"
md "%dirname% い"
popd
    • good
    • 0
この回答へのお礼

回答ありがとうございました

お礼日時:2011/02/14 15:38

フォルダの名前が 123、456 のように常に3文字固定なら、比較的簡単ですね。



■myMkdir.bat
REM ここから↓↓↓↓↓↓↓↓↓↓↓
@echo off

REM バッチファイルの場所を取得
set myhome=%~dp0

REM カレントフォルダ名取得(フルパスの後ろ4桁を取得)
set dirName=%myhome:~-4%

REM カレントフォルダ名取得(\マークを空文字に置換)
set dirName=%dirName:\=%

REM あフォルダを作成
mkdir "%myhome%\%dirName% あ"

REM いフォルダを作成
mkdir "%myhome%\%dirName% い"

REM ここまで↑↑↑↑↑↑↑↑↑↑↑

フォルダの名前が、場合によっては 1234 だったり 45678 だったりするとなると、VBScriptやPowerShellなどを使うか、もう1つ、別のバッチファイルを作っておくか、が必要です。
(この場合、バッチ内のサブルーチンだと難しそうな気がするので)

以下の例では、パス情報を取得するバッチ(例えば getFileName.bat など)を別個に作っておき、バッチの中から、「call getFileInfo .」見たいな感じで呼び出す事でカレントフォルダ名を取得しています。

この場合の注意点としては、フォルダ内で直接クリックした場合はご希望の処理が可能ですが、プロンプトからパスを指定した場合は、うまく動きません。
(つまり、タスクスケジューラなどで使う場合は、もう一工夫必要になります)

それと、言うまでもないと思いますが、他のフォルダに貼り付ける時も、2つのバッチファイルを両方貼り付けてください。

■getFileName.bat
REM ここから↓↓↓↓↓↓↓↓↓↓↓
@echo off
set fileName=%~n1
REM ここまで↑↑↑↑↑↑↑↑↑↑↑

■myMkdirEx.bat
REM ここから↓↓↓↓↓↓↓↓↓↓↓
@echo off

REM バッチファイルの場所を取得
set myhome=%~dp0

REM カレントフォルダ名取得(引数の「ピリオド」はタイプミスではありませんw)
call getFileName .

set dirName=%fileName%

REM あフォルダを作成
mkdir "%myhome%\%dirName% あ"

REM いフォルダを作成
mkdir "%myhome%\%dirName% い"

REM ここまで↑↑↑↑↑↑↑↑↑↑↑
    • good
    • 0
この回答へのお礼

回答ありがとうございました

フォルダの名前の文字数は固定です
実行したところ、ばっちり期待の動作をしました
私にとって、大変便利なバッチファイルになりました

お礼日時:2011/02/11 19:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!