【前提・実現したいこと】
バッチファイルでテキストファイルを読み込み、読み込んだ値を使用した空ファイル・フォルダを作成したいです。
上記に記載したことを実現したいのですが、フォルダ名には読み込んだ値を使用できる一方、ファイル名には使用することができず困っております。ローカル上では動いたのですが、ネットワークドライブ上でうまく動かないため、ご助言いただけないでしょうか。
【状況】
バッチファイル:test.bat
読み込むファイル:number.txt
上記は同じディレクトリにあります。
【環境】
Windows10
バッチファイルの中身は以下です。↓
pushd %~dp0
@echo off
set filename="No."
setlocal enabledelayedexpansion
for /f "delims=" %%a in (%~dp0/number.txt) do (
set FILE=%filename%%%a
mkdir !FILE!
cd !FILE!
copy nul !FILE!.xlsx
cd ../
)
endlocal
pause
読み込むファイルの中身は以下です。↓
1
2
3
【結果】
No.1、No.2、No.3というフォルダは同じディレクトリにできるが、中にファイルが作成されません。
画面には「コマンドの構文が誤っています。」と出力されます。
【試したこと】
・上記バッチファイルのpushd %~dp0を削除してローカルで実施したところきちんとファイルも作成されました。
・ファイル名をa.xlsxとしたところファイルが作成されました。
⇒ネットワークドライブ上ではファイル名に読み込んだ値を使用していると構文が誤っていると出力されてしまうのでしょうか?
ネットワークドライブ上でもローカルで実現できたようにファイル名に読み込んだ値を使用したいのですが、うまくいかないためどのようにしたら解決できるかアドバイスを頂きたいです。
宜しくお願い致します。