C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: バッチファイルで同じ名前を使いまわしたい


(過去ログ 176 を表示中)

[トピック内 11 記事 (1 - 11 表示)]  << 0 >>

■101203 / inTopicNo.1)  バッチファイルで同じ名前を使いまわしたい
  
□投稿者/ 城 (1回)-(2023/01/18(Wed) 10:49:53)

分類:[その他の言語] 

以下のバッチファイルなのですが
変数を使ってZ:\WORK の中身を表示するにはどうすればよいのでしょうか?

set wk = WORK
dir Z:\%wk%



引用返信 編集キー/
■101204 / inTopicNo.2)  Re[1]: バッチファイルで同じ名前を使いまわしたい
□投稿者/ WebSurfer (2605回)-(2023/01/18(Wed) 10:57:53)
No101203 (城 さん) に返信

「バッチファイル 変数」などをキーワードにググって調べても有用な情報は
見つからなかったのでしょうか?
引用返信 編集キー/
■101205 / inTopicNo.3)  Re[1]: バッチファイルで同じ名前を使いまわしたい
□投稿者/ WebSurfer (2606回)-(2023/01/18(Wed) 11:01:36)
No101203 (城 さん) に返信

ググると最初に出てくるこれ ↓ など参考になりそうですけど。

バッチファイルで変数を使う方法
https://somachob.com/bat-set/

引用返信 編集キー/
■101206 / inTopicNo.4)  Re[2]: バッチファイルで同じ名前を使いまわしたい
□投稿者/ 城 (3回)-(2023/01/18(Wed) 11:21:15)
No101205 (WebSurfer さん) に返信

>「バッチファイル 変数」などをキーワードにググって調べても有用な情報は
>見つからなかったのでしょうか?

見つかりました。
というか以下同じものを見ています。


> ■No101203 (城 さん) に返信
>
> ググると最初に出てくるこれ ↓ など参考になりそうですけど。
>
> バッチファイルで変数を使う方法
> https://somachob.com/bat-set/
>

同じものをみました。
そして同じようにしてみたのですが動作しないのです。
変更箇所は以下です。

echo %name% → dir Z:\%wk%




引用返信 編集キー/
■101207 / inTopicNo.5)  Re[3]: バッチファイルで同じ名前を使いまわしたい
□投稿者/ 城 (5回)-(2023/01/18(Wed) 11:26:35)
もともとの目的は
以下のようにコピーすることです。


y:\出力\data1\data1_出力_20230110.txt
y:\出力\data2\data2_出力_20230110.txt
y:\出力\data3\data3_出力_20230110.txt



があるとします。
これを以下のフォルダーにコピーします。

z:¥処理\出力\data1\data1_出力_20230110.txt
z:¥処理\出力\data2\data2_出力_20230110.txt
z:¥処理\出力\data3\data3_出力_20230110.txt



現状であれば、日付の部分を各行すべて変更して処理しなければならないのですが
以下のように set date の日付だけを変更してバッチファイルを処理したいと思ったのですが
動作しませんでした。

set date = 20230110

copy /Y y:\出力\data1\data1_出力_%date%.txt Z:\処理\出力\data1
copy /Y y:\出力\data2\data2_出力_%date%.txt Z:\処理\出力\data2
copy /Y y:\出力\data3\data3_出力_%date%.txt Z:\処理\出力\data3



どうすればよいのでしょうか?
引用返信 編集キー/
■101208 / inTopicNo.6)  Re[3]: バッチファイルで同じ名前を使いまわしたい
□投稿者/ WebSurfer (2607回)-(2023/01/18(Wed) 11:34:42)
No101206 (城 さん) に返信

> 同じものをみました。
> そして同じようにしてみたのですが動作しないのです。

「動作しない」というのは具体的にどういう結果になるのですか?

自分の環境 (Windows 10) では問題なく結果が得られるのですが。

例えば以下の bat ファイルを作ってエクスプローラーから実行すると、 

@echo off

set name=python27

dir c:\%name%

pause


結果は以下のようになります。

 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は 94E9-FF10 です

 c:\python27 のディレクトリ

2020/04/03  09:29    <DIR>          .
2020/04/03  09:29    <DIR>          ..
2020/04/03  09:29    <DIR>          DLLs
2020/04/03  09:29    <DIR>          Doc
2020/04/03  09:29    <DIR>          include
2020/04/03  09:29    <DIR>          Lib
2020/04/03  09:29    <DIR>          libs
2019/10/19  21:15            38,592 LICENSE.txt
2019/10/19  21:12           519,506 NEWS.txt
2019/10/19  21:02            28,160 python.exe
2019/10/19  21:02            28,160 pythonw.exe
2019/10/19  20:39            56,605 README.txt
2020/04/03  09:29    <DIR>          Scripts
2020/04/03  09:29    <DIR>          tcl
2020/04/03  09:29    <DIR>          Tools
               5 個のファイル             671,023 バイト
              10 個のディレクトリ  214,784,106,496 バイトの空き領域

引用返信 編集キー/
■101209 / inTopicNo.7)  Re[1]: バッチファイルで同じ名前を使いまわしたい
□投稿者/ kiku (319回)-(2023/01/18(Wed) 11:46:57)
No101203 (城 さん) に返信
> 以下のバッチファイルなのですが
> 変数を使ってZ:\WORK の中身を表示するにはどうすればよいのでしょうか?
>
> set wk = WORK
> dir Z:\%wk%

「=」と「WORK」の間にスペースがあるから動作しないのでは?
検証はしていませんので外れていたら申し訳ない。
引用返信 編集キー/
■101210 / inTopicNo.8)  Re[4]: バッチファイルで同じ名前を使いまわしたい
□投稿者/ KOZ (383回)-(2023/01/18(Wed) 12:08:09)
2023/01/18(Wed) 12:11:04 編集(投稿者)

No101207 (城 さん) に返信
> 以下のように set date の日付だけを変更してバッチファイルを処理したいと思ったのですが
> 動作しませんでした。
> set date = 20230110
> copy /Y y:\出力\data1\data1_出力_%date%.txt Z:\処理\出力\data1
> copy /Y y:\出力\data2\data2_出力_%date%.txt Z:\処理\出力\data2
> copy /Y y:\出力\data3\data3_出力_%date%.txt Z:\処理\出力\data3

%date% には日付が入っています。
変数名を変えましょう。

set datex = 20230110
copy /Y y:\出力\data1\data1_出力_%datex%.txt Z:\処理\出力\data1
copy /Y y:\出力\data2\data2_出力_%datex%.txt Z:\処理\出力\data2
copy /Y y:\出力\data3\data3_出力_%datex%.txt Z:\処理\出力\data3



引用返信 編集キー/
■101211 / inTopicNo.9)  Re[4]: バッチファイルで同じ名前を使いまわしたい
□投稿者/ WebSurfer (2608回)-(2023/01/18(Wed) 12:14:00)
No101207 (城 さん) に返信

> 以下のように set date の日付だけを変更してバッチファイルを処理したいと思ったのですが
> 動作しませんでした。
>
> set date = 20230110

No101209 で kiku さんが指摘されたように不要なスペースが入っているからでは?
引用返信 編集キー/
■101212 / inTopicNo.10)  Re[4]: バッチファイルで同じ名前を使いまわしたい
□投稿者/ 魔界の仮面弁士 (3546回)-(2023/01/18(Wed) 12:44:14)
No101207 (城 さん) に返信
> set date = 20230110
> copy /Y y:\出力\data1\data1_出力_%date%.txt Z:\処理\出力\data1

SET date = 20230110
ECHO [%date %]
ECHO [%date%]
 
上記の結果は
[ 20230110]
[2023/01/18]
です。

引用返信 編集キー/
■101213 / inTopicNo.11)  Re[5]: バッチファイルで同じ名前を使いまわしたい
□投稿者/ 城 (7回)-(2023/01/18(Wed) 14:46:35)
No101209 (kiku さん) に返信
>
> 「=」と「WORK」の間にスペースがあるから動作しないのでは?
> 検証はしていませんので外れていたら申し訳ない。


No101211 (WebSurfer さん) に返信
>
> No101209 で kiku さんが指摘されたように不要なスペースが入っているからでは?


スペースが入っているとダメでした。
ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -