[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/13 02:16 / Filesize : 294 KB / Number-of Response : 1050
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【.cmd】 バッチファイルスクリプト %13 【.bat】



1 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 14:52:07.84 ID:v84I4o+L.net]
拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。

※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。
前スレ
【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
echo.2ch.net/test/read.cgi/tech/1424858999/
【.cmd】 バッチファイルスクリプト %12 【.bat】
https://mevius.5ch.net/test/read.cgi/tech/1489207631/

それ以前の過去スレ
%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/

792 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 05:49:29 ID:ceHl0duT.net]
シェルスクリプトってお手軽省略表記にこだわりすぎるあまり
エスケープ処理が複雑化しバグりやすくなって本末転倒だよな

793 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 05:57:02 ID:l2PF55i3.net]
そんなところで躓く能なしは、他の言語で書いても同じだよ

794 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 13:01:40 ID:DKHJb1hS.net]
他の言語でもエスケープは必要なことはあるし同じこと
ただbatのように自身を置換して逐次実行するするようなことは
eval系の命令を使う場合なのでほぼ無いに等しいので意識されないだけ

795 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 16:44:00 ID:3RXW9/E3.net]
要するに分かりにくい
ここで初心者にイロハから質問されてもレスがしにくい
リネームソフトでも使え

796 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 17:37:46 ID:7TaGv6sC.net]
>>759
シェルスクリプトでエスケープ処理が複雑なんて
したことがないんだがどういうケース?

むしろバッチファイルのほうがややこしすぎる
バッチファイルでダブルクォートはいつつけるか言える?
スペースが含まれたファイル名とか

バッチファイルでこれの出力結果は
echo "C:\Program Files"

↓これです。(ダブルクォート含む)
"C:\Program Files"

797 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 18:05:03 ID:3RXW9/E3.net]
どういうケースって、すぐ上の奴だろ

798 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 18:18:07 ID:7TaGv6sC.net]
>>764
もしかしてバッチファイルとシェルスクリプトの違いわかってないの?

799 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 18:19:14 ID:7TaGv6sC.net]
シェルスクリプトっていうのはUnixやLinuxの
/bin/shとかbashのことなんだが

800 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 18:20:52 ID:RB8xSOb3.net]
ファイル数



801 名前:からんけどリネームソフト使えば一分かからんで終了 []
[ここ壊れてます]

802 名前:デフォルトの名無しさん [2020/04/28(火) 20:35:28 ID:C/yTg51l.net]
>>766
俺の定義ではバッチファイルはシェルスクリプトだ

config.sysに
shell=command.com /e:1024
とか書いてたからな

803 名前:デフォルトの名無しさん [2020/04/28(火) 20:39:22 ID:C/yTg51l.net]
ちなみにMS-DOSにはエスケープ文字なんて無い

804 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 20:40:45 ID:f4hk4dsD.net]
>>768
意味わかんないから調べたが、
今では全く通用しない話じゃねーかよ。

てめーの定義を押し付けんな。

805 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 20:51:25.37 ID:l2PF55i3.net]
>>770
頑張ってググってきたんだからほめてやれよ

806 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 22:38:03.31 ID:0mXw36Cx.net]
>>769
Delims句でイコールを区切り文字にしたいときはサーカムフレックスでエスケープする必要があるときがあるけどね。

807 名前:デフォルトの名無しさん mailto:sage [2020/04/28(火) 23:55:09.09 ID:3RXW9/E3.net]
cmdはシェルだ。定義も糞もない

808 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 00:05:03 ID:kLiglYQz.net]
>>768
cmdじゃないじゃん

809 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 06:34:57 ID:bLWOmnfL.net]
UNIXとかでshやbashがログインシェルとかインタラクティブシェルになるのと同じだよ
shやbash=cmd
シェルスクリプト=バッチファイル
シェアが段違いのWindowsのバッチファイルがシェルスクリプトよりずっと複雑なのは当たり前

810 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 06:56:52.10 ID:SXZJio07.net]
とはいえ逆にunixでバッチがどうとか言うと違和感あるしな
>>766みたいな感覚が一般的



811 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 07:15:11 ID:sus1L+2H.net]
>>775
> シェアが段違いのWindowsのバッチファイルがシェルスクリプトよりずっと複雑なのは当たり前

シェアならLinuxのシェルスクリプトの方が多いよ
今はsystemdに置き換えられつつあるが、起動処理の多くで
シェルスクリプトが使われていた。
各アプリのビルドなどでもシェルスクリプトは使われている。

それに対してバッチファイルは殆ど使われていない。
そもそもWindowsのコマンドは、他のコマンドの出力を読み取って
別のコマンドで処理するように設計されていない
単に呼び出すだけ。だからバッチファイルという名前になってる

例えばcopyコマンドであってもシェルスクリプトであれば、コピーが正常に終了した場合
なにも表示されないのでスクリプトとして使いやすいが
Windowsのcopyは人間用のメッセージがいちいち出る
コマンドの出力を変数に入れるだけでも大変
遅延環境変数の展開を使わなければ変数の中にメタ文字的なものが入るだけで簡単に壊れる

そもそもの設計思想がスクリプトを組むためではなく、単にコマンドを並べるという使い方を
するためだからバッチファイルはシェルスクリプトだけでなく
PowerShellスクリプトやVBScriptよりも使いづらくなってしまっている

一方、PowerShellスクリプトやVBScriptはコマンドをよびだすのが
面倒になってるので両立してるシェルスクリプトにはかなわない

812 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 07:22:12 ID:VzuV0Enx.net]
アスペがうだうだ言ってるだけで全く「会話」が進行していないな

813 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 07:36:25.95 ID:SXZJio07.net]
スレチだから、もうやめろ

814 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 07:51:09.96 ID:sus1L+2H.net]
やなコッタ

815 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 22:15:38.24 ID:f6LPbIhG.net]
パンナコッタ

816 名前:デフォルトの名無しさん mailto:sage [2020/04/29(水) 22:43:10 ID:sus1L+2H.net]
メロンパンナ

817 名前:デフォルトの名無しさん mailto:sage [2020/04/30(木) 00:25:02 ID:6g7fIyNp.net]
マンコッタ茶園のアッサムティーをすすりながら仕事するのが何よりの贅沢

818 名前:デフォルトの名無しさん mailto:sage [2020/04/30(木) 23:56:54 ID:4NDFLh29.net]
アッサムティー好き、いいよね

819 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 20:45:42 ID:I+dUmCMk.net]
カタコッタ

820 名前:デフォルトの名無しさん [2020/05/07(木) 18:46:37 ID:jiFNKMfo.net]
滅茶苦茶初歩的な質問ですまん

バッチファイルからPythonスクリプト実行してPythonスクリプト側でprintした文字列をバッチファイル側で取得する方法ってある?



821 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 18:51:16 ID:cw3NlGJG.net]
FOR /F ["オプション"] %変数 IN

822 名前:('コマンド') DO コマンド [コマンド パラメーター]
または usebackq オプションの場合:
FOR /F ["オプション"] %変数 IN (`コマンド`) DO コマンド [コマンド パラメーター]
[]
[ここ壊れてます]

823 名前:デフォルトの名無しさん [2020/05/07(木) 18:51:30 ID:jiFNKMfo.net]
もしくはコマンドプロンプトに出力された文字列を出所問わず取得したい

824 名前:デフォルトの名無しさん [2020/05/07(木) 19:01:03 ID:jiFNKMfo.net]
>>787 ありがとう、いけたわ

logzero使ってるライブラリでこれやろうとすると途中で処理が止まるけど、これは他の問題かもしれんな

825 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 19:33:24 ID:lct9jPsZ.net]
昔だったら tail -f

826 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 19:34:28 ID:2gF3mugX.net]
>>789
標準出力じゃなくて、標準エラー出力の方にprintしてるんだろ
('py foo.py 2^>^&1')

827 名前:デフォルトの名無しさん [2020/05/07(木) 19:47:29.96 ID:jiFNKMfo.net]
logzeroさらっと調べても設定全く分からんので今回は該当部分の出力だけlogzero.infoからprintにして無駄な出力を省いた
出力取得できたのでまあよし

828 名前:デフォルトの名無しさん mailto:sage [2020/05/07(木) 20:17:47 ID:2gF3mugX.net]
>>792
@echo off
setlocal enabledelayedexpansion
set n=0
for /f "tokens=*" %%i in ('py test.py 2^>^&1') do (
set IN!n!=%%i
set /a n+=1
)
set /a n-=1
for /l %%i in (0,1,%n%) do (
echo.!IN%%i!
)
endlocal

829 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 09:27:08.95 ID:hWMQZbFi.net]
>コマンドプロンプト入門 Kindle版

2020年にこれを出すとはチャレンジャーすぎるな

830 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 16:03:14 ID:PeLhefIP.net]
amazonで、確認すると、2019/09の出版みたいですね。
どうせなら、power shellの本出したほうが良かったかも。



831 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 18:45:23 ID:NJ7uTfC9.net]
ファイル名に「b」を含むファイルをコピーするときに
たとえば
abc.txt というファイルがあって

copy *b*.txt def.txt
がオッケーで
copy *b* def.txt
がエラーなのはなぜですか?

*は0文字以上の文字列なので
両方とも成功すると思っていたのですが

832 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 19:05:09 ID:fhydWmjd.net]
>>795
KindleストアにPowerShellのがいっぱいあるやん

833 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 19:55:35 ID:UaCqmgBQ.net]
>>796
普通にできるけどどんなエラーが出るの?

ちなみにその書き方だと *a* が複数ある時は連結されてしまうけどな

834 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 19:59:26 ID:fhydWmjd.net]
*b* が一つでもゴミが付くしね(0x1A)

835 名前:デフォルトの名無しさん mailto:sage [2020/05/23(土) 20:41:18.51 ID:H5g1ckea.net]
Windows Terminal で音を鳴らすにはどうすればいいですか

コマンドプロンプトではControl-Gを出力してたんですが
Windows Terminalでは無視してくれやがります

836 名前:デフォルトの名無しさん [2020/05/23(土) 22:23:07.24 ID:105ldQbQ.net]
start beep.wav

837 名前:デフォルトの名無しさん mailto:sage [2020/05/23(土) 22:45:59.81 ID:H5g1ckea.net]
そんなんだったら

>copy con beep.cmd
echo ^G
waitfor /T 3 waiting
^Z
1 個のファイルをコピーしました。

>start /min cmd /d/c beep.cmd

とするけどもっといい手はないかなと

838 名前:デフォルトの名無しさん mailto:sage [2020/05/23(土) 23:00:15 ID:H5g1ckea.net]
ああstartで自分を呼んで鳴らせばいいんだ
自己解決しました

839 名前:デフォルトの名無しさん mailto:sage [2020/05/24(日) 00:25:04.68 ID:VYuvM9gt.net]
>>802
echo ^G>beep.dat
としておいて
type beep.dat

beep.dat は 0x07 (1byte)だけ

840 名前:デフォルトの名無しさん mailto:sage [2020/05/24(日) 00:40:12.55 ID:f4O9jhZ+.net]
その手がWindows Terminalでは使えないって話

https://aka.ms/terminal-documentation
Windows ターミナルの概要 | Microsoft Docs



841 名前:デフォルトの名無しさん mailto:sage [2020/05/24(日) 00:46:46 ID:VYuvM9gt.net]
>>805
そうでしたか

Windows Terminal、使うか

842 名前:デフォルトの名無しさん [2020/06/03(水) 20:30:01 ID:H ]
[ここ壊れてます]

843 名前:abAm56l.net mailto: バッチでやるような処理でも
勉強兼ねてpowershell使って処理するようにしたほうがいいですか?
[]
[ここ壊れてます]

844 名前:デフォルトの名無しさん mailto:sage [2020/06/03(水) 20:31:25 ID:5eIQQTQm.net]
勉強でなら、そりゃそうだろと言うしかないね

845 名前:デフォルトの名無しさん mailto:sage [2020/06/03(水) 20:32:34 ID:HabAm56l.net]
実務上はどうです?
バッチの方が情報多いからいいんですか?

846 名前:デフォルトの名無しさん mailto:sage [2020/06/03(水) 21:04:50.01 ID:mm84GRB0.net]
>>809
どういう現場か知らないけど
Widn7 SP1 PSv2 縛り
なんて現場でPS書きたいとか思わないね。

使わせてくれる現場なら使うべきだし、そうでないならバッチをシコシコ書くしかないのよ。

847 名前:デフォルトの名無しさん mailto:sage [2020/06/03(水) 21:27:53 ID:QZ+HyrOs.net]
シコシコかくのよ

848 名前:デフォルトの名無しさん mailto:sage [2020/06/03(水) 22:11:19 ID:JNM2fzED.net]
PSでできること=C#でできることだからバッチとは全然できることが違うよ
PSv2でも十分バッチとは天地の差がある

849 名前:デフォルトの名無しさん mailto:sage [2020/06/03(水) 22:22:36 ID:5eIQQTQm.net]
元の質問が、「バッチでやるような処理でも」なんだけどな
ちゃんと読んでるか?

850 名前:デフォルトの名無しさん mailto:sage [2020/06/03(水) 23:24:38 ID:Gm6SBE/O.net]
>>809
情報量ならPowerShellの方が上だし
TechnetフォーラムならPowerShellのカテゴリーあるし
ポケットリファレンスの著者である牟田口大介まで出没している

ストアアプリのインストールとかはPowerShell必須だし
バッチのみじゃ書けない物も割と多い

処理の内容は忘れたけどバッチでやれた事を
PowerShellで書いたらキー入力を要求されて
かえってバッチの方が良かった場合もあるけど
そんなパターンは圧倒的に少ないと思う

でもウチの場合、PowerShell使いがいないから
というのが最大の理由で実務はバッチだらけ

良いか悪いかならきちんとメンテナンスが出来る物が良いであるべき

個人の感想ならばPowerShellって
バージョンが上がって非互換が出そうなので避けたい



851 名前:デフォルトの名無しさん [2020/06/04(木) 09:41:35.56 ID:Di3Z81qX.net]
9x系(95/98/Me)のWindows用MS-DOSプロンプトとNT系(それ以外)のWindows用コマンド・プロンプトの違いさえ
意識していれば、バッチファイルの利用は難しくないと思う。
VBScript(WSHことWindows Script Host)の場合は9x系とNT系に関係なく、WSHバージョン5.1以降かどうかさえ
気をつけていれば概ね大丈夫だと思う。

それらに比べてPowerShellは、個人的にはハードルが極めて高い。

852 名前:デフォルトの名無しさん mailto:sage [2020/06/04(木) 15:05:12.56 ID:iofqxoab.net]
>>813
当然「バッチでやるような処理でも」PSなら十二分にこなせるよ
このスレで話題になるような変なクセや制限もないしね

853 名前:デフォルトの名無しさん mailto:sage [2020/06/04(木) 15:12:12.70 ID:iofqxoab.net]
>>814
PSはバージョン指定(-vオプション)すればそのバージョンが実行される仕組みを持ってるから互換性についてもある程度クリーンだよ

854 名前:デフォルトの名無しさん mailto:sage [2020/06/04(木) 15:16:33 ID:efimIni8.net]
BATの典型的なものとしては
シーケンシャルに
・外部アプリ呼び出し
・ファイルコピーや移動
・メッセージ表示
であって、こんなものをPowerShellで書く必要は無いし、ステップ数も余分にいる

855 名前:デフォルトの名無しさん mailto:sage [2020/06/04(木) 21:18:27 ID:U7KCPoET.net]
PSの話したいなら該当スレへ
ここでするのはスレチ

856 名前:デフォルトの名無しさん mailto:sage [2020/06/05(金) 09:26:58 ID:YNSaAEsR.net]
バッチファイル内で、複数の文字列の一部だけを羅列して、それをまとめて補完したものを変数に入れたい

具体的には
set LOGFILES=%LOG%\tech\*.dat %LOG%\prog\*.dat %LOG%\win\*.dat %LOG%\newsplus\*.dat ...
のように指定するのではなく

setlocal enabledelayed...
for %%f in (tech prog win

857 名前: newsplus) do (
 set LOGFILES=%LOGFILES% %LOG%\%%f\*.dat
)
のようにして、増減や修正を簡単に出来るようにしたい

したいんだけど、なんかうまく動いてくれない


何かヒントもらえますか?
[]
[ここ壊れてます]

858 名前:デフォルトの名無しさん mailto:sage [2020/06/05(金) 10:14:13 ID:YNSaAEsR.net]
自己解決
どうやらこんな感じで動きそう

for %%f in (tech prog win newsplus) do (
 call :APPEND %%f
)

:APPEND
set LOGFILES=%LOGFILES% %LOG%\%%f\*.dat
goto :EOF

859 名前:デフォルトの名無しさん mailto:sage [2020/06/05(金) 11:33:35 ID:xkF+o6Lc.net]
>>820
setlocal enabledelayedexpansion
for %%f in (tech prog win newsplus) do (
 set LOGFILES=!LOGFILES! %LOG%\%%f\*.dat
)

じゃダメなの?

860 名前:デフォルトの名無しさん mailto:sage [2020/06/05(金) 11:53:35.34 ID:YNSaAEsR.net]
あれ?出来ますね

実は!で囲むのもやってみた(つもりだった)んだけど
(たぶん、どっか別のちょっとしたところでミスしてて)
その時はうまく動かなかったんですね

失礼しました



861 名前:810 mailto:sage [2020/06/06(土) 00:36:10 ID:ZNTMwsEj.net]
>>817
業務システムのくせに -v の無いPSスクリプトを Win7 上で動かしてるクソシステム、あるよ。改修したくもないけど。
PS は ver.3 で破壊的変更がなされたから、ver.2 に合わせて勉強するだけ無駄だと言われている。
core になって COM も切られたから Word や Excel ファイルへのアクセスも今後どーなんの?的な段階。

また、PS が「管理の自動化」を目指しているのに対して、バッチや WSH は「一般ユーザーの定型操作の自動化」を目指しているから方向性自体が違う。
おまけにバッチとWSHはもう仕様変更が無いという強みがある。

等価なものを個人的に PS でリライトしてみる、はいいと思うけど、本番環境に入れるのはNGかな…。

862 名前:デフォルトの名無しさん mailto:sage [2020/06/09(火) 07:37:38.68 ID:xQo5RGeQ.net]
長々と更新してもcmd変わらず放置
不具合あればPS使えということか
バッチに未来は無い

863 名前:デフォルトの名無しさん mailto:sage [2020/06/09(火) 21:59:44.80 ID:Phlj4K/L.net]
cmdはもう更新しないってアナウンス出てなかったっけ?

864 名前:デフォルトの名無しさん mailto:sage [2020/06/09(火) 22:16:29.17 ID:aAgqnyde.net]
バッチ処理って簡単な定時処理に使ってる人がほとんどだろうし
現状維持でこのまま使えたらそれでいいよ

865 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 08:05:01.57 ID:Nip9LUw0.net]
教えてください。
引数以外でショートカットの情報をバッチに渡すことはできますか?
バッチ自体のファイル名、パス名を取得する方法はよく見かけますが、、
ショートカットのファイル名や親フォルダの情報をバッチに渡す手段ってやっぱりないですかね?

866 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 10:09:40.34 ID:Rvue1P4U.net]
ショートカットって何の?起動したバッチファイルのもの?
ショトカ自体は dir *.lnk で取れるけど複数あると特定は面倒臭かったり無理かも
どのlnkからバッチが起動されたか?は作業ディレクトリがそのlnkと同じだとか限定条件下でないと無理じゃないかな

867 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 10:41:39.28 ID:Nip9LUw0.net]
>>829
やっぱり無理そうですね。
ショートカットのファイル名をショートカットのコマンドラインに渡してバッチに引き渡そうと企んだのですが、、、
%0とか%~dp0とか記述しても記述そのままで%1に渡るだけでした。
何か方法ないのかなと思い、、あきらめます。
ご回答ありがとうございます。

868 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 11:24:19.06 ID:2FaHAA2B.net]
ショートカットのプロパティで作業フォルダを弄ればいいだろ。
リンク先のバッチで%cd%参照。
ファイル名なんてリンク先に合わせりゃいいだろ。

869 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 11:26:00.19 ID:Q6c7IGAp.net]
>>830
もしショートカットファイルから元のファイル名を取得したいってことなら
wmicコマンドとか使えば良いんじゃない?
https://stac

870 名前:koverflow.com/a/29650022 []
[ここ壊れてます]



871 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 11:45:22.44 ID:2FaHAA2B.net]
プロパティのリンク先に自分のフルパスを追加してもいい
リンク先のバッチで%1参照。

872 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 12:14:20.27 ID:Nip9LUw0.net]
>>831
仰る通り。
それがメンドーだな、と思っただけです。
プロパティ弄らずにファイル名変更だけで挙動変えようかと、、、

873 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 12:15:45.60 ID:Nip9LUw0.net]
>>832
そういうの、いろいろありますね。
VBSとかPSとか。
後者をSendToに入れてフォルダ内調査に使ったりしてます。

874 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 12:16:13.25 ID:Rvue1P4U.net]
ショートカット名を動的に生成してダブルクリックだけでリンク先のバッチへ引数として渡したいって事なんじゃないの?
ショートカット名を一時ファイル代わりにしたかったんだと思ってたけど

875 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 12:17:49.77 ID:Nip9LUw0.net]
>>833
プロパティ弄るなら、素直に引数指定すれば良さそうです。

みなさんご意見ありがとうございます。

876 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 12:18:03.34 ID:2FaHAA2B.net]
作業フォルダを空欄にするだけなんだけど

877 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 12:20:20.62 ID:Nip9LUw0.net]
>>836
ショートカットを別フォルダにコピーするだけで、そのショートカットの親フォルダをバッチに渡すということをしたかったです。
ただのめんどくさがりです。すみません。

878 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 12:25:13.85 ID:Nip9LUw0.net]
ショートカットの代わりにバッチを呼ぶためのバッチを作ればよいことに今気づきました。
ショートカットのコマンドラインで自分を参照する記述が出来そうもないことも確認できたので収穫でした。
みなさんおつきあい頂きありがとうございます。

879 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 12:32:21.09 ID:Rvue1P4U.net]
>>839
それなら >>838 で可能
作業フォルダを空欄にしたショートカットを目的のフォルダにコピーしてダブルクリック echo %cd% で取れる

880 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 12:47:38 ID:zWNqxiy9.net]
別フォルダにコピーする時点で親フォルダ分かってるんじゃない?



881 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 19:57:43.39 ID:Nip9LUw0.net]
>>841
おおお、なるほど!
StartInを指定しなければ、CurrentDirectoryは移動しないのか。
リンクファイル名の方は無理そうですが、親フォルダはこれでいけそうです。
感謝!!

VBAのApplication.Callerみたいなのが書ければいいんですけどね。

882 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 20:09:16.72 ID:2FaHAA2B.net]
作業フォルダが空だと他所のフォルダからD&Dしたらそっちになるけどな。
あと、管理者権限で実行したらC:\WINDOWS\system32になったりする

883 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 20:15:00.02 ID:Nip9LUw0.net]
>>844
そうなりますね。気をつけます。

884 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 21:58:02.09 ID:Nip9LUw0.net]
すみません。もう1つ質問です。
バッチ自身を最小化して起動するときどうされてますか?
これが理由の1つでショートカット起動していたのですが、代わりにバッチを使うとコンソールが表示されてしまいます。
サイトでよく見かける、@If not "%~0"... というやつは、Win7のためか機能しません。
普段は固定的に行う場合は、ショートカットやVBSをはさみ最小化実行しているのですが、、
うまい方法があれば教えてください。

885 名前:デフォルトの名無しさん [2020/06/15(月) 14:19:29.38 ID:YYrFY+5A.net]
無い

886 名前:デフォルトの名無しさん mailto:sage [2020/06/15(月) 19:14:00.08 ID:X3dRtIQ2.net]
>>847
了解!

887 名前:デフォルトの名無しさん mailto:sage [2020/06/15(月) 19:21:32.94 ID:bzzr0fEY.net]
start

888 名前:デフォルトの名無しさん mailto:sage [2020/06/15(月) 21:31:09.57 ID:xZsc1Mf0.net]
pause

889 名前:デフォルトの名無しさん mailto:sage [2020/06/16(火) 06:44:47 ID:zfRgO9so.net]
PowerShell なら、

# ショートカットファイルのフルパス
$fn = "フルパス"

# ショートカットファイル(.lnk)から、リンク先パス(TargetPath)を読み取る
$link = $wsh.CreateShortcut( $fn )

# 画面に表示する
Write-Host "$( $fn )`

890 名前:nTargetFile: $( $link.TargetPath )" []
[ここ壊れてます]



891 名前:851 mailto:sage [2020/06/16(火) 06:47:46 ID:zfRgO9so.net]
>>851
修正

一番上に、これを入れて

$wsh = New-Object -ComObject WScript.Shell

892 名前:デフォルトの名無しさん mailto:sage [2020/06/16(火) 09:13:19.74 ID:n71ojSL1.net]
wsh呼び出すならvbsでも使えばいいわけで…






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<294KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef