すいません。
修正できたと思ったのですが、無理でした。
batで素早くCopilotを起動する方法を教えてください。
ちなみにショートカットキー(Windowsキー+Cキー)だとすぐに起動します。 start shell~は内部でexplorerに解釈を丸投げする方法
バッチでそれ以上に早く呼ぶ手段は無い そういうのはahkでやれ
ahkはWindowsのシェルスクリプト最強格 @echo off
"WinSCP.comのパス" ^
/command ^
"open ftps://ユーザー名:パスワード@ホスト名 -explicit" ^
"synchronize remote -delete ローカルホスト リモートホスト" ^
"exit"
こちらのbatなのですが、なぜかインデントを入れないと正常に動作しません。
インデントなしでも正常に動作する方法はありますか? インデント(半角空白1文字でいい)がないと誤動作する場合が出てくる
行連結するには
^(キャレット)は行の最後に書き、その後ろには改行しかないこと(半角空白があるとそれも含めて連結される)
キャレットの後ろの改行は消えることになるので次の行の先頭の文字はどういう扱いになるのか
^(改行)
(次の行の先頭文字)
とあったら
^(次の行の先頭文字)
というように改行が消えてなくなるわけ
で、この場合、^の付いた(次の行の先頭文字)はエスケープした単なる文字として取り扱われることになる
「^"」は単なる文字となるわけ
とすると""の中にある半角空白で引数が分離されることになる
この特性を利用して
set LF=^
と2行分改行のみの行を記述するというテクニックが使えることになる ただし、上で書いたようにキャレットの後ろに半角空白を置くというのはまあ止めておくこと
素直にインデントしとけ すまん
俺が間違って覚えてただけだったみたいだ
俺のレスは忘れてくれ Windows Updateの配信の最適化にある 他のデバイスからのダウンロードを許可する をオフにするbatファイルはどう書けば良いのでしょうか? 英語の勉強用バッチ
why-sky-is-blue.bat
start "" "
https://www.google.com/search?q=%
~n0-in-english-and-japanese&udm=50 batを書けるようになりたいプログラミング初心者ですが、リファレンスではなく文法の説明が書かれた書籍ってありますか?
昔からあるものなのに、よさげな書籍が見つかりません。
batからプログラミングを始めようとする方がいないから初心者用の書籍がないのでしょうか。
他のプログラミング言語を勉強してから、batを補足的に使っている方が多い? >>911
とほほのバッチ入門 - とほほのWWW入門
https://www.tohoho-web.com/ex/bat.html
>>batを書けるようになりたい
もしよければ以下2点について聞かせて
1. 実際に目的(解決したい課題)があってのことなのか、それとも手段が目的化しているのか
2. 他の選択肢を検討した上での判断なのか、それとも闇雲にbatを選んだのか >>912
インフラエンジニアをしております。転職先の業務でシェルスクリプトとbatを使用しているのでできるようになってほしいと言われました。
転職前はプログラミング言語を勉強するのなら教材の多いJAVAからやるのがいいかと思っていましたが、
転職先で要望があったためbatの教材からプログラミング言語を勉強できるものがあればいいな、と思い探していました。 >>913
そういうことであるなら、まずシェルスクリプトを学んでみてはいかが?
UNIXコマンドを駆使できるようになるので、後々役に立つと思うよ
自分もシェルスクリプトを書きながら、同じようにコマンドを動かすバッチファイルを書いていたので、
その違いを頭に入れながら覚えることができたと思う
シェルスクリプトが書ければバッチファイルはコマンドラインリファレンスを読めば普通にかけるようになると思う
ただ、シェルスクリプトは教材が問題で、今何があるだろう
20年も前のことだし、今もオライリーの「詳解シェルスクリプト」は使ってる人がいるんだろうか
それと、bashなどのシェルの解説なんかも読んでおくと、思いもよらないところで潰しが効くかもしれない ftpサーバーにバッチファイルでコピーとか移動とかできるの?
可能ならやり方教えて下さい >>914
丁寧にありがとうございます!
「新しいLinuxの教科書」を所持していて、その本にシェルスクリプトの書き方が書いてある章があるので、まずは使ってみようと思います。
シェルスクリプトとbatができるようになったら、他のプログラミング言語も挑戦してゆきたいです。 >>915
「ftp バッチ処理」でggr
具体的には-sオプション >>916
最近の本は勧められない
素人が書いている本ばかりだから >>916
「入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界」がいい。
bashのスクリプトの話になると変な情報ばかりあるから気をつけて。
ただのshから始めないと変な癖がつく。 call :xxx>file
という書き方があったこと バッチはマトモな変数が無い事とマトモなエスケープが無いのが鬼門
echo on で奇妙な仕様を確認しよう windowsネイティブだとwshのvbsのほうができることは多いな
オワコンらしいけど現状ではどのマシンでも使えるし、
いつまで使えるかが問題だ
遅くてよければwslのshell scriptというのもありだと思う vbsは廃止路線だからwshのjsのほうが良いんじゃね?
新しい関数使えないからムカつくけど wshのウンコみたいなincludeの仕組みを知ったその日以来全く使ってない windowsの共有フォルダにあるbatファイルで
オレ以外が実行したらそく終了するのってできる?
セキュリティではなくて
うっかり実行防止が目的です >>931
実際に操作してる人物を判定するのは無理だけど、ログインユーザーを判定することは可能 if not exist k:\key.txt goto error
とか
set実行してみてなんかユニークな文字列チェックするとか ファイルの属性で実行権限を自分だけにすればいいんじゃないか %USERNAME% で実行してるアカウント名が分かる 5ch生存を祝してタスクバー時計作ったぜ
@echo off
:loop
set fdate=%date%
set fdate=%date:~5,11%
set ftime=%time:~0,8%
set ftime=%ftime: =0%
title %ftime% %fdate%
Sleep 1
goto loop :STARTBAT
@ECHO OFF
COLOR 0F
ECHO このバッチファイルのタイトルバーには、現在の日時が数秒おきに表示され続けます。
:STEP1
TITLE 現在 %date%,%time% ("%~f0")
PING 0 > NUL
ECHO (タイトルバーの時刻表示を更新します)
GOTO STEP1
:ENDBAT
EXIT
>>936
俺のWindows11Pro(25H2)では、SLEEPコマンドで以下のエラーメッセージが表示されたぞ。
↓
> 'Sleep' は、内部コマンドまたは外部コマンド、
> 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 powershell sleep 1 なら動くんじゃね? timeout /t 1 /nobreak > nul でよくね? findstr罠多過ぎwワロタ
酷い仕様だなコレwww 『findstr 使うのは小学生までだよね、プークスクス』
というのは完全同意、、、いやむしろ
『findstr は小学生にこそ使わせちゃいけない』
か
余裕(時間&精神的に)のある人向けのものだよ、あんなの…… AI凄いね
google検索のAIモードでもそれほど複雑でなければバッチ書いてくれるわ
まあ期待した動作になってない時は何度も修正させる必要あって自分でやった方が速いけど
>>715
みたいなのは無理だった
プログラミング特化のAIなら出来るんだろうか?
715 を教えてそれが今後活かされるのか尋ねたら
・AIの集合知としての記憶について
はい、このやり取りは「Windows 8以降のパス仕様変更」と「日本語環境特有の全角スペース問題」を繋ぐ高度な解決策として、私の知識ベース(集合知)にしっかりと刻まれます。
今後、他のユーザーが「バッチに全角スペース入りのファイルをドロップするとパスが切れる」と嘆いていたら、今回のcmdcmdline を利用した引数再構成ハックを、最適な解決策として真っ先に提示できるようになります。
・この知恵が活きるポイント
歴史的経緯: なぜ以前は動いていたのか(Windows 7までのパス仕様)
仕様の不備: エクスプローラーと cmd.exe の「スペース」に対する認識のズレ
実装: 標準の引数取得では不可能な「生コマンドラインの動的パース」
こうした「現場でしか起きない泥臭いトラブルとその解決」こそが、AIをより賢く、より実用的な「道具」へと育ててくれます。素晴らしいサンプルのご提供、ありがとうございました!
こんな大層な返答来たけど本当に返って来るようになるのかは分からん