1 名前:デフォルトの名無しさん mailto:sageteoff [2017/03/11(土) 13:47:11.66 ID:2LSSeyH1.net] 拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる 質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。 ※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。 前スレ 【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net echo.2ch.net/test/read.cgi/tech/1424858999/ それ以前の過去スレ %10 peace.2ch.net/test/read.cgi/tech/1374205515/ %9 toro.2ch.net/test/read.cgi/tech/1335015478/ %8 toro.2ch.net/test/read.cgi/tech/1315844420/ %7 hibari.2ch.net/test/read.cgi/tech/1298873550/ %6 hibari.2ch.net/test/read.cgi/tech/1277465356/ %5 pc12.2ch.net/test/read.cgi/tech/1242268171/ %4 pc12.2ch.net/test/read.cgi/tech/1229955189/ %3 pc11.2ch.net/test/read.cgi/tech/1217860043/ %2 pc12.2ch.net/test/read.cgi/tech/1197881068/ %1 pc11.2ch.net/test/read.cgi/tech/1178281991/
71 名前:デフォルトの名無しさん [2017/04/29(土) 21:00:05.56 ID:GvSnly4L.net] >>69 "within("しか取れませんでした。
72 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 23:45:46.56 ID:AyX6Tpbc.net] 書いたコマンドとテストした対象ファイルの1行目をコピペで貼ってみ
73 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 16:43:52.50 ID:PScyAxKX.net] 助けて下さい! 毎月第二木曜日の16:00になったら Aフォルダに入っているgファイルにBフォルダに入っているgファイルを上書きする batファイルを作って下さい よろしくお願いします
74 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 17:29:08.98 ID:bjRIYrg3.net] >>72 ファイル上書きのBAT(c:\xxx.bat)を作成してタスク登録する schtasks /create /sc monthly /mo second /d thu /st 16:00:00 /tn title /tr "c:\xxx/bat" /ru username /rp userpassword
75 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 18:58:44.41 ID:PScyAxKX.net] >>73 ありがとうございます!
76 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 00:01:39.58 ID:1meaH6LX.net] set txt="C:\scr\a.txt" for /f "delims=, usebackq tokens=1,2,3,4,5,6,7,8" %%i in (%txt%) do ( set /a X="(%%j-%%i)+(%%l-%%k)+(%%n-%%m)+(%%p-%%o)" ) echo %X% forを使った計算について質問ですがa.txtから数値を抜き出し計算したいのですが最後の二つが空の場合があり この場合は%%pと%%oですがその場合はエラーになって強制終了してしまいます gotoを使う方法は思いついたのですが他に空だった場合にゼロを代入するなどは可能でしょうか?
77 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 08:46:27.33 ID:trqCrhEU.net] set txt="C:\scr\a.txt" for /f "usebackq tokens=1,2,3,4,5,6,7,8 delims=, " %%i in (%txt%) do ( set /a X=%%j-%%i+%%l-%%k+%%n-%%m, po=%%p-%%o ) set /a XX=X+po echo %XX%
78 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 11:05:40.92 ID:lLM9Jqdl.net] echo ^ とすると more? と出る ??
79 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 12:02:37.54 ID:+kEWkBL6.net] >>76 空の場合に1が代入されてエラーを回避できました サンクス
80 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 17:52:47.97 ID:ya28xWZT.net] 特定のフォルダ内のテキストファイルを処理するバッチを作りましたが @echo off for /f "usebackq delims=" %%i in (`dir /B /S "E:\text_sc\*.txt"`) do ( echo %%i call E:\work\syori.bat "%%i" ) syori.batで処理したテキストを忘れないようにリスト化(syorizumi_list.txt) aaa bbb ccc のように処理したテキストの名前だけ縦に追記 次回から新しいテキストファイルが同じフォルダに出来た場合にsyorizumi_list.txtの 処理済みのテキストを除外して処理したいのですが コマンドのアドバイスを頂けないでしょうか
81 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 19:38:36.49 ID:HiKVEJh7.net] >>79 もし、その入力ファイルをその後弄らないのならファイル属性を弄るのがいい 例えば、アーカイブ属性を削るとか読み取り専用属性にするとか そうすれば、forの中のdirに/aで分別できる それが無理な場合は、こんなかんじでファイルに登録されているかどうかチェックするとかかな findstr /x "%%~ni" syorizumi_list.txt >nul if errorlenel 1 ( echo %%i call E:\work\syori.bat "%%i" ) )
82 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 21:01:19.56 ID:ya28xWZT.net] >>80 レスありがとうございます 読み取り属性の方は最終手段としてとりあえず書かれたコマンドを追記してテストしていますが エラーで強制終了してしまいます・・・ ヒントは頂けたのでちょっと考えてみます
83 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 21:32:14.27 ID:8Dg0HTHO.net] 処理済みファイルを下位ファルダに移動させるとかじゃダメなの? それが1番楽だと思うけど
84 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 22:02:54.16 ID:ya28xWZT.net] ダメではないですし意地になってるだけです・・・ すいません どうしようもなければそうしおうと思います
85 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 22:41:00.81 ID:HiKVEJh7.net] >>81 ただのtypoだから(errorlevel) あと処理済ファイルの指定はフルパスにしないとダメかも
86 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 22:45:30.06 ID:HiKVEJh7.net] あと、移動させるなら下位フォルダはダメだよ dir /sではそれも対象だから
87 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:51:05.34 ID:ya28xWZT.net] >>84 修正したら動きました! ありがとうございます ただsyorizumi_list.txtに aaa bbb ccc とあったらaaaしか除外してくれませんね・・・ もう少し調べてみます
88 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 02:30:44.06 ID:HrYyDnOr.net] >>86 まあこっちが悪いっちゃ悪いんだけど、これくらい修正して使って欲しかった /c:"%%~ni"
89 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 08:10:06.10 ID:N++czmo3.net] >>87 眠すぎたのと集中力が散漫で気づいてないだけでした・・・ すいません それと指摘の通り/c:に変えたら期待通りの動作になりました サンクス!
90 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 21:37:37.96 ID:HrYyDnOr.net] >>88 その言い方に嫌な感じがするんだがちゃんと引数の意味を調べて使ってるよね /x /c:"%%~ni"としてるんなら、変な勘ぐりスマン
91 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 22:35:16.21 ID:N++czmo3.net] >>89 /x /c:"%%~ni"で問題なく動作しています 細かいところまでありがとう
92 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 14:12:41.59 ID:Q9T2A2Wt.net] こんなろくに理解せずそのまんまコピペして使ってるとトラップに引っかかるぞ
93 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 22:28:16.59 ID:b+LuBt/G.net] 下位フォルダに移動することも検討してるなんてレスから /sが必要だとも思えんよね
94 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 22:30:42.85 ID:b+LuBt/G.net] もし/sが意図通りだったら aaa.txt aaa\aaa.txt なんて状況どうするんだって話だし
95 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 07:30:18.71 ID:/NUGeMQI.net] >>89 > その言い方に嫌な感じがするんだがちゃんと引数の意味を調べて使ってるよね 同意 88の1行目で奴の人物像がすべて分かる
96 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 16:05:36.92 ID:OOQCykcT.net] 引数 %1 %2 ,, は%9 までだが shiftで取り出せば%10以上でも取り出せた
97 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 12:35:49.64 ID:j04OpPTD.net] Cドラのdown配下のmp4とaviを DドラTozakaruzoSaikonkaraに集約してコピーしたいときはどうするの? XCOPY "C:\down\*.mp4” "D:\TozakaruzoSaikonkara\" /d /e /h /r /y XCOPY "C:\down\*.avi" "D:TozakaruzoSaikonkara\" /d /e /h /r /y ワイルドカード使いたいけど、eroやmoroのところが難しい for文の記述の方がいいなど、よろしくお願いします。 C:/ ├down/ │ └ ero/ │ └ 111.mp4 │ └ moro/ │ └ xx2.avi │ └ zzz.mp4 │ └xxx.avi D:/ ├TozakaruzoSaikonkara/ │ └ 111.mp4 │ └ xx2.avi │ └ zzz.mp4 │ └ xxx.avi
98 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 13:13:57.77 ID:6QOS5lbl.net] robocopy /?
99 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 15:41:43.67 ID:y+UEOWCj.net] >>96 cd /d c:\down cd d:TozakaruzoSaikonkara for /r %%i in (*.avi *mp4) do copy /y "%%~fi" d:
100 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 15:46:23.72 ID:y+UEOWCj.net] cd d:\TozakaruzoSaikonkara の方がいいか
101 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 15:50:20.24 ID:y+UEOWCj.net] もしフォルダが無いなら md d:\TozakaruzoSaikonkara 追加してくれ
102 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 16:07:02.35 ID:y+UEOWCj.net] *.mp4 だった 穴だらけだな 俺もボケてきたか
103 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 17:02:52.10 ID:+JrLzVDI.net] >>98 おー、inの句に並列できるんですね %%~fiのfはfileの意味でしょうか いずれにしても無事コピーされました 応用も効きそうなので調べて利用させていただきます! ありがとう
104 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 17:08:46.74 ID:+JrLzVDI.net] いや、フルパスかな 初めてだったので、楽しみます ありがとう
105 名前:デフォルトの名無しさん mailto:sage [2017/06/16(金) 01:17:16.66 ID:fojoWyA2.net] >>103 俺がもっといいやり方がないか調査するからとりあえずmoroフォルダをうp!
106 名前:デフォルトの名無しさん [2017/06/17(土) 18:10:57.34 ID:hP08xqzx.net] >>98 ドライブとディレクトリの違いであるのか、コピーと移動の違いであるのか、 教えていただけたらうれしいです。 >>96 で、同じドライブの別フォルダに移動したいとき、下記教えていただいたコマンドを変えて実行すると、 別ドライブのときのようにコピーがされない状況です。 cd /d c:\down cd c:\TozakaruzoSaikonkara for /r %%i in (*.avi *mp4) do move /y "%%~fi" c: --------- 下記の用に移動したい C:/ ├down/ │ └ ero/ │ └ 111.mp4 │ └ moro/ │ └ xx2.avi │ └ zzz.mp4 │ └xxx.avi C:/ ├TozakaruzoSaikonkara/ │ └ 111.mp4 │ └ xx2.avi │ └ zzz.mp4 │ └ xxx.avi
107 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 21:48:00.86 ID:4uF4heHb.net] for /r c:\down %%i in (*.avi *.mp4) do move /y "%%~i" c:\TozakaruzoSaikonkara
108 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 22:08:13.20 ID:hP08xqzx.net] >>106 ありがとうございます! 比較して、代入の引数iに違いがあるし、もう少し勉強します。 また、わからないことなど出てくるかもしれませんが、その時はよろしくお願いいたします。
109 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 22:53:57.13 ID:4uF4heHb.net] 参考に言っておくが () の中の引数なんだが、ワイルドカード以外は要注意だ 例えば (*.avi *.mp4 sukebe.jpg) とかにすると 各ディレクトリに sukebe.jpg が無くても強引にコマンド実行してエラーになったりする
110 名前:デフォルトの名無しさん mailto:sage [2017/06/19(月) 21:06:26.56 ID:HM1jnBNt.net] moroとかsukebeとか名付けがオッサン臭いんだがw
111 名前:デフォルトの名無しさん mailto:sage [2017/06/26(月) 00:08:20.51 ID:a4kJ2YgH.net] DIRコマンドでは*を使って検索みたいなことが出来ますね。 【コマンド】 C:\>dir /s /b C:\Windows\System32\host* 【実行結果】 C:\Windows\System32\hostname.exe C:\Windows\System32\dllcache\hostname.exe C:\Windows\System32\drivers\etc\hosts 他にもっと複雑な検索も出来るのでしょうか?
112 名前:デフォルトの名無しさん mailto:sage [2017/06/26(月) 00:10:31.02 ID:a4kJ2YgH.net] あと「DIR /?」で出てくるヘルプにはこの機能について触れられていないのはなぜなのでしょう?こんなに便利なのに。
113 名前:デフォルトの名無しさん mailto:sage [2017/06/26(月) 00:24:40.04 ID:1HPve1dM.net] ワイルドカードはDIR固有じゃないけど
114 名前:デフォルトの名無しさん mailto:sage [2017/06/26(月) 00:27:25.02 ID:q7GF7ZpN.net] >>111 windowsXPで恐縮なんだが、Windowsヘルプ(ヘルプとサポートセンター)では、 Dirの項目の説明の中で、ワイルドカード関係のものとして以下のものが書いてあったよ 解説 ・複数の filenames を使用する 複数の filenames を使用できます。スペース、カンマ、またはセミコロンでファイル名を区切ります。 FileName でワイルドカード文字 (? と *) を使うと、ファイルのグループを表示することができます。 ・ワイルドカードを使用する ワイルドカード (? と *) を使うと、ファイルとサブディレクトリのサブセットの一覧を表示できます。 例 ドライブ C のすべてのディレクトリで、拡張子が .txt のすべてのファイルの一覧を表示するには、次のように入力します。 dir c:\*.txt /w/o/s/p 各ディレクトリにある拡張子が .txt のファイル名が、アルファベット順にソートされた一覧がワイド形式で表示されます。 画面単位で一時停止し、キーが押されると次の画面が表示されます。
115 名前:デフォルトの名無しさん mailto:sage [2017/06/26(月) 01:37:25.73 ID:q7GF7ZpN.net] >>111 つまりコマンドの内蔵ヘルプは簡略版ってことなんだ それと、なんかちょっと検索してみたら Windows10には「ヘルプとサポート」がないらしい なのでオンラインでのコマンドラインリファレンス https://technet.microsoft.com/ja-jp/library/cc755121%28v=ws.10%29.aspx XPの「ヘルプとサポート」には 「コマンドラインリファレンス」の他にも、 「新しいコマンドラインツール」 「コマンドシェルの概要」(ここにパイプやリダイレクトの説明が載っている) ってのがあったんだけどなあ
116 名前:デフォルトの名無しさん mailto:sage [2017/07/01(土) 02:44:43.86 ID:mwCfh4Ih.net] 質問があります。 ちょっと事情があってすべての引数をダブルクオーテーションで囲って実行しなければならなくなりました。 例えばこんな感じで "C:\Software\ffmpeg\ffmpeg.exe" "-i" "%~1" "-vcodec" "utvideo" "-acodec" "pcm_s16le" "%~dpn1_test.avi" ffmpegでは正常に動くことを確認したのですが他の一般的なソフトウェアもこのような起動方法で動作すると考えてもいいのでしょうか?
117 名前:デフォルトの名無しさん mailto:sage [2017/07/01(土) 03:37:58.17 ID:QCoLM9eW.net] 引数の仕様はそれぞれだが問題無い
118 名前:デフォルトの名無しさん mailto:sage [2017/07/05(水) 22:31:01.85 ID:9GxT9B4i.net] とあるファイルの中身の文字列を置換したいのですが、何かいい方法はありますでしょうか? とあるファイルはtxtファイルではないですが、テキストエディタで開くと文字列が書いてあります。
119 名前:デフォルトの名無しさん mailto:sage [2017/07/05(水) 22:46:04.03 ID:R8zuGv9z.net] 全部テキストならともかくそれ以外のバイナリファイル内の置換はcmdじゃ無理だろ WSHとかPower Shellとかで探せ
120 名前:デフォルトの名無しさん mailto:sage [2017/07/06(木) 00:29:11.58 ID:l/JVwvz3.net] テキストファイルだけど、拡張子がtxtではないファイルのことです
121 名前:デフォルトの名無しさん mailto:sage [2017/07/06(木) 01:41:06.31 ID:vizsBHcK.net] findstr である程度のことはできるけど、置換の条件とかが複雑になってくるとしんどい。 外部コマンドが使用可能なら、onigsedとか、SEDを使った方が多少は楽。
122 名前:デフォルトの名無しさん mailto:sage [2017/07/06(木) 02:34:32.14 ID:VUvDmuBp.net] >>119 拡張子になんの意味があると思ってるの? なんかそのレベルの知識だったら、メモ帳でも使った方がいいと思うよ。
123 名前:デフォルトの名無しさん mailto:sage [2017/07/07(金) 17:03:51.39 ID:peDYPYbs.net] >>119 ren Nullpo.unko Nullpo.txt
124 名前:デフォルトの名無しさん mailto:sage [2017/07/09(日) 19:10:43.21 ID:Gxva3cTk.net] バッチファイルからシリアルポートを簡単に読み書き出来る手段って無いですかね? 古くはCOM?を使う方法が有名ですがBluetoothなどで作られた仮想シリアルポート?には使えないようです
125 名前:デフォルトの名無しさん mailto:sage [2017/07/13(木) 00:28:41.39 ID:m+WJUz/m.net] シリアルポートってなんだ?RS-232Cとかか?
126 名前:デフォルトの名無しさん mailto:sage [2017/07/13(木) 00:45:21.62 ID:CfPNRtgi.net] >>123 232C→USB変換ケーブルみたいなのあったような
127 名前:デフォルトの名無しさん mailto:sage [2017/07/16(日) 11:23:45.75 ID:FHjtOHLZ.net] そもそもバッチファイルって何? CでもBasicでもなく、メモ帳の拡張子をbatに変えるだけで良くて、 コマンドブロンプトとかいう、MS-DOSと何が違うのかわからないような画面で動いて、 何なの?
128 名前:デフォルトの名無しさん mailto:sage [2017/07/16(日) 15:58:56.60 ID:30vHB81v.net] CだってBASICだってメモ帳の拡張子を適当に変えれば行けますよ
129 名前:デフォルトの名無しさん mailto:sage [2017/07/18(火) 02:02:06.89 ID:Bi+xDIbE.net] 「拡張子とは何か」から始めとけ
130 名前:デフォルトの名無しさん mailto:sage [2017/07/18(火) 09:43:40.29 ID:YNdL6SIO.net] >>126 >メモ帳の拡張子をbatに変える notepad.exeの拡張子をbatに変えたら動かなくなりますよ
131 名前:デフォルトの名無しさん mailto:sage [2017/07/18(火) 12:15:15.33 ID:+17jTjCv.net] >>129 なんでメモ帳って書いてあるのにnotepad.exeをいじるわけ?
132 名前:デフォルトの名無しさん mailto:sage [2017/07/18(火) 12:23:23.94 ID:lxnTGpj5.net] そらメモ帳の実体はnotepad.exeやし
133 名前:デフォルトの名無しさん mailto:sage [2017/07/18(火) 19:54:35.52 ID:qQbuN+bc.net] >>130 お前の言う「メモ帳」とはnotepad.exeでない何か他のものなのか?
134 名前:デフォルトの名無しさん mailto:sage [2017/07/18(火) 20:32:10.68 ID:wtRY8Rgw.net] もう夏休みか
135 名前:デフォルトの名無しさん mailto:sage [2017/07/18(火) 23:42:51.89 ID:Wjn/rMX6.net] 揚げ足の取り方が寒い。
136 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 00:03:00.46 ID:oeGL8Gu+.net] >>126 についていうなら、その辺のいい加減さが理解を妨げてると言える
137 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 00:19:58.81 ID:wIP5zHZ/.net] とにかく>>126 は色々とおかしい どこから突っ込めばいいのかわからんくらいにアチコチおかしい PC初心者板ならともかく、なぜム板にこんな人が居るんだ?ってレベル 迷い込んできたのか?
138 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 00:23:24.87 ID:I6a60LYe.net] しかし誰もきちんと説明できないという
139 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 02:27:06.77 ID:Gwnbk1WK.net] どこから説明始めたらいいのかわからん程だし
140 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 21:02:00.27 ID:WMMf4PqS.net] 説明はできないが
141 名前:揚げ足は取れる、ということですね。 [] [ここ壊れてます]
142 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 22:27:12.79 ID:caLBuZR5.net] コピー系コマンドのコピー速度って 遅 copy < xcopy < robocopy 早 で良いですよね? これはVista、7、10のどのOSでも同じでしょうか?
143 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 23:32:30.26 ID:I6a60LYe.net] copyの方が早くね?4文字だし。
144 名前:140 mailto:sage [2017/07/20(木) 03:04:39.26 ID:R4lBeVK+.net] >>141 コマンド打ち込むにも時間がかかりますから一理ありますね。copyは引数指定も直感的だし… って常にコマンド手打ちする訳でもないですし!w
145 名前:デフォルトの名無しさん mailto:sage [2017/07/22(土) 00:59:36.62 ID:J1O+P69V.net] +.bat や ,.bat もOKだった
146 名前:デフォルトの名無しさん mailto:sage [2017/07/22(土) 21:18:13.40 ID:yBUCBb6t.net] プラスバッドって、何か格好いいな。 カンマバットはダセェけど。
147 名前:デフォルトの名無しさん mailto:sage [2017/07/23(日) 16:18:49.88 ID:sxzHAQSA.net] では、 £.bat γ.bat ラプラスバットと、ガンマバットでは、どうだろう?
148 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 01:24:32.19 ID:ocuZvBLs.net] @.bat や =.bat ファイルを作ることはできるが、実行しようとしてもコマンドプロンプトに無視されて実行できなかった
149 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 02:07:03.67 ID:0L2d7SO5.net] @.bat はフルパスで C:\work\@bat ってするか、キャレットでエスケープして ^@.bat で実行できる =.bat はフルパスでもダメだけど、キャレットでエスケープすればいける
150 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 00:45:45.45 ID:7i1X54Qd.net] >>147 キャレットって何かわからなかったが、^をつけることなんですね ^@ や ^= でたしかに実行できました
151 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 19:56:28.38 ID:gQNT5BPl.net] (^_^)
152 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 21:54:16.62 ID:BFQhJ/Te.net] "@ とか "= とか
153 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 22:38:23.70 ID:3xlVGOet.net] すみません助けてください 遅延関数を宣言してるところから、下記の親ディレクトリの名前だけ引くサブルーチンに ファイルフルパス投げて、戻そうとしているのですが for文のところでDEST_DIRに値が入らなくて困っています windows7環境で遅延関数について調べているのですが なんで値が入らないのかわからず。 %%Pをechoすると中身が表示されるのですが それをSETするときに何をやっても入りません。。。助けてください :GET_PARENTDIR setlocal enabledelayedexpansion SET PathLF=%1 SET PathLF=%PathLF:~0,-1% SET PathLF=!PathLF:\=^ ! for /F %%P in ("!PathLF!") do SET DEST_DIR = %%P endlocal && set DEST_DIR = %DEST_DIR% echo %DEST_DIR% exit /b
154 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 22:39:38.44 ID:3xlVGOet.net] ああああ遅延変数でした もうやだああぁ
155 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 23:55:08.58 ID:pZiLFUe+.net] >>151 これって例えばc:\aaa\bbb\ccc\test.txtってファイルを投げたら 最終的にtest.txって文字を得たいの? cccを得たいの?
156 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 02:10:26.85 ID:F71LHla5.net] >>151 まずは SET DEST_DIR = %%P endlocal && set DEST_DIR = %DEST_DIR% の空白がいけないのでは? SET DEST_DIR=%%P endlocal && set DEST_DIR=%DEST_DIR%
157 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 08:22:11.69 ID:ltV5IdSe.net] >>154 後輩にその空白を入れられたことがある 「可読性を良くしようと思って…」って言ってたな 普通の高級言語やってる奴は=の前後に空白入れただけで不具合起こるなんて考えもしないわな コマンドプロンプトはホント昔の仕様を引きずり過ぎだわ
158 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 08:51:21.42 ID:J2u+qflL.net] setlocal enabledelayedexpansion使うとファイル名に!が入ってるとめんどくさいから極力使わないようにしてるんだけど俺だけ?みんなはどうしてる?
159 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 08:55:13.27 ID:GzAS59pw.net] >>155 C言語で言うマクロ置換みたいなもんだからしょうがない もう新規の奴はPowerShellに移行するしかない
160 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 10:13:39.94 ID:x5EZUuTK.net] 名前ソートで上に持ってきたいフォルダには名前の頭に!をつけてる
161 名前:デフォルトの名無しさん mailto:sage [2017/08/17(木) 23:34:26.73 ID:jGLnJoZN.net] スペースが入ったファイル名からスペースを取り除くには一行では無理ですか?
162 名前:デフォルトの名無しさん mailto:sage [2017/08/18(金) 00:59:25.98 ID:Oq4EZT3J.net] こんな感じ? set "File=%~1" & ren "%File%" "remove=%File: =%"
163 名前:デフォルトの名無しさん mailto:sage [2017/08/18(金) 01:00:23.41 ID:Oq4EZT3J.net] 間違えた set "File=%~1" & ren "%File%" "%File: =%"
164 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 03:39:45.42 ID:w/lVOYHU.net] バッチでよく使う pslist.exe はプロセス名が日本語だと間違える pslist v1.4 sysonternals
165 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 16:32:29.32 ID:7nn0chG1.net] フォルダD:\XXXX直下の、 AAAA、BBBB、CCCCの3つの隠しファイル(拡張子なし)を、 定期的にE:\backupフォルダにバックアップするためのバッチファイルを作りたい フォルダXXXX以下には、YYYY、ZZZZというフォルダがあり、 この下にもAAAA、BBBB、CCCCと同名のファイルが存在するが、 それはバックアップしなくていい copyコマンドでは隠しファイルはコピーできない xcopyコマンドではサブディレクトリ以下の同名ファイルもコピーされてしまう バッチファイルで処理するためにはどうすればいいのでしょうか? できればアトリビュートはいじりたくないです よろしくお願いいたします
166 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 16:35:22.92 ID:T95gEh5X.net] >>161 誰もツッコミ無しなの?
167 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 16:53:03.09 ID:vBwVL8I3.net] >>163 xcopyでAAAAなどのファイルを一つずつ指定してコピーするというのは?
168 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 17:25:05.34 ID:7nn0chG1.net] >>165 実験してみたんですが、 xcopy D:\XXXX\AAAA E:\backup\ とすると、backupフォルダには、 AAAA \YYYY\AAAA \ZZZZ\AAAA の3ファイルがコピーされちゃうんですよ \YYYYと\ZZZZのはいらないのでどうしたもんかなと質問させていただきました
169 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 17:36:31.70 ID:vBwVL8I3.net] >>166 こちらの方でもテストしたけど1ファイルだけコピーになるんだけどな なんでだろ
170 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 17:43:47.57 ID:7nn0chG1.net] >>167 テストありがとうございます あれ? なんか余計なスイッチ入れるとかしちゃってたかな? 今出先なんで帰ったら再度実験してみます
171 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 19:15:30.58 ID:T95gEh5X.net] >>161 cd /d "%~dp1" & set "File=%~nx1" & call ren "%%File%%" "%%File: =%%" >>163 cd /d "D:\XXXX" for %%i in (AAAA BBBB CCCC) do xcopy /h /y "%%~i" "E:\backup"